name_s
static int parse_name_fields(const char *name_s, const char *name_s_end,
parse_name_fields(const char *name_s,
while (name_s < name_s_end && *name_s != OPEN_PAREN_CHAR)
name_s++;
if (name_s == name_s_end) {
while (name_s < name_s_end && *name_s != DOUBLE_QUOTE_CHAR)
name_s++;
if (name_s == name_s_end) {
begin_fmt = ++name_s; /* start of format string */
while (name_s < name_s_end && *name_s != DOUBLE_QUOTE_CHAR)
name_s++;
if (name_s == name_s_end) {
end_fmt = name_s;
while (name_s < name_s_end && *name_s != COMMA_CHAR)
name_s++;
name_s++; /* now at comma char */
while (name_s < name_s_end && is_whitespace(*name_s))
name_s++;
begin_token = name_s++;
name_s = get_next_token(
if (name_s == NULL) {
name_s = get_mapping_item(begin_token, name_s_end,
if (name_s == NULL) {
name_s = skip_token(name_s, name_s_end, close_paren_token);
if (name_s == NULL) {
while (name_s < name_s_end && is_whitespace(*name_s))
name_s++;
if (*name_s == COMMA_CHAR)