StrIterNext
- Macro
- October 8, 2025
Table of Contents
StrIterNext
StrIterNextDescription
Advance to next character in string iterator
Parameters
| Name | Direction | Description |
|---|---|---|
si | in,out | StrIter to modify |
Usage example (Cross-references)
- 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)