StrIterNext
StrIterNext
Description
Advance to next character in string iterator
Parameters
| Name | Direction | Description |
|---|---|---|
si |
in,out | StrIter to modify |
Usage example (Cross-references)
Usage examples (Cross-references)
- In
KvConfig.c:103:
static StrIter kvconfig_consume_line_end(StrIter si) {
if (StrIterPeek(&si) == '\r') {
StrIterNext(&si);
}- In
KvConfig.c:107:
if (StrIterPeek(&si) == '\n') {
StrIterNext(&si);
}- In
KvConfig.c:154:
StrIter KvConfigSkipWhitespace(StrIter si) {
while (StrIterRemainingLength(&si) && kvconfig_is_space(StrIterPeek(&si))) {
StrIterNext(&si);
}- In
KvConfig.c:162:
StrIter KvConfigSkipLine(StrIter si) {
while (StrIterRemainingLength(&si) && !kvconfig_is_line_end(StrIterPeek(&si))) {
StrIterNext(&si);
}- In
KvConfig.c:186:
StrPushBack(key, c);
StrIterNext(&si);
}- In
KvConfig.c:216:
quote = StrIterPeek(&si);
if (quote == '"' || quote == '\'') {
StrIterNext(&si);
while (StrIterRemainingLength(&si)) {- In
KvConfig.c:222:
if (c == quote) {
StrIterNext(&si);
return si;
}- In
KvConfig.c:227:
if (c == '\\') {
StrIterNext(&si);
if (!StrIterRemainingLength(&si)) {
LOG_ERROR("Unexpected end of quoted config value");- In
KvConfig.c:255:
}
StrIterNext(&si);
continue;
}- In
KvConfig.c:260:
StrPushBack(value, c);
StrIterNext(&si);
}- In
KvConfig.c:284:
StrPushBack(value, c);
StrIterNext(&si);
}- In
KvConfig.c:318:
}
StrIterNext(&si);
si = KvConfigReadValue(si, value);- In
KvConfig.c:361:
if (c == '\n') {
StrIterNext(&si);
continue;
}- In
JSON.c:19:
return saved_si;
}
StrIterNext(&si);
si = JSkipWhitespace(si);- In
JSON.c:35:
return saved_si;
}
StrIterNext(&si); // skip comma
si = JSkipWhitespace(si);
}- In
JSON.c:56:
return saved_si;
}
StrIterNext(&si);
si = JSkipWhitespace(si);- In
JSON.c:85:
}
StrIterNext(&si);
return si;
}- In
JSON.c:102:
return saved_si;
}
StrIterNext(&si);
si = JSkipWhitespace(si);- In
JSON.c:115:
return saved_si;
}
StrIterNext(&si); // skip comma
si = JSkipWhitespace(si);
}- In
JSON.c:141:
}
StrIterNext(&si);
return si;
}- In
JSON.c:156:
case '\r' :
case '\n' :
StrIterNext(&si);
break;
default :- In
JSON.c:181:
// string start
if (StrIterRemainingLength(&si) && StrIterPeek(&si) == '"') {
StrIterNext(&si);
// while a printable character
- In
JSON.c:192:
// end of string
case '"' :
StrIterNext(&si);
return si;- In
JSON.c:197:
// starting of an escape sequence
case '\\' :
StrIterNext(&si);
if (!StrIterRemainingLength(&si)) {
LOG_ERROR("Unexpected end of string.");- In
JSON.c:208:
case '\\' :
StrPushBack(str, '\\');
StrIterNext(&si);
break;- In
JSON.c:213:
case '"' :
StrPushBack(str, '"');
StrIterNext(&si);
break;- In
JSON.c:218:
case '/' :
StrPushBack(str, '/');
StrIterNext(&si);
break;- In
JSON.c:223:
case 'b' :
StrPushBack(str, '\b');
StrIterNext(&si);
break;- In
JSON.c:228:
case 'f' :
StrPushBack(str, '\f');
StrIterNext(&si);
break;- In
JSON.c:233:
case 'n' :
StrPushBack(str, '\n');
StrIterNext(&si);
break;- In
JSON.c:238:
case 'r' :
StrPushBack(str, '\r');
StrIterNext(&si);
break;- In
JSON.c:243:
case 't' :
StrPushBack(str, '\t');
StrIterNext(&si);
break;- In
JSON.c:265:
default :
StrPushBack(str, StrIterPeek(&si));
StrIterNext(&si);
break;
}- In
JSON.c:291:
if (StrIterPeek(&si) == '-') {
is_neg = true;
StrIterNext(&si);
}- In
JSON.c:311:
is_flt = true;
StrPushBack(&ns, StrIterPeek(&si));
StrIterNext(&si);
break;- In
JSON.c:322:
is_flt = true;
StrPushBack(&ns, StrIterPeek(&si));
StrIterNext(&si);
break;- In
JSON.c:336:
case '9' :
StrPushBack(&ns, StrIterPeek(&si));
StrIterNext(&si);
break;- In
JSON.c:360:
has_exp_plus_minus = true;
StrPushBack(&ns, StrIterPeek(&si));
StrIterNext(&si);
break;- In
JSON.h:421:
break; \
} \
StrIterNext(&si); \
si = JSkipWhitespace(si); \
\
- In
JSON.h:474:
} \
\
StrIterNext(&si); \
} \
} while (0)- In
JSON.h:513:
break; \
} \
StrIterNext(&si); \
si = JSkipWhitespace(si); \
\
- In
JSON.h:557:
break; \
} \
StrIterNext(&si); \
si = JSkipWhitespace(si); \
\
- In
JSON.h:600:
} \
\
StrIterNext(&si); \
} \
} while (0)
Last updated on