JSkipWhitespace
Description
Skip whitespace from current reading position.
Parameters
| Name | Direction | Description |
|---|---|---|
si |
in | Reading position to start looking for whitespace |
Success
Returns StrIter advanced past all whitespace
Failure
Returns original StrIter if already at end
Usage example (Cross-references)
Usage examples (Cross-references)
- In
JSON.c:18:
StrIter saved_si = si;
si = JSkipWhitespace(si);
// starting of an object
- In
JSON.c:27:
}
StrIterMustNext(&si);
si = JSkipWhitespace(si);
StrIter read_si;- In
JSON.c:51:
}
StrIterMustNext(&si); // skip comma
si = JSkipWhitespace(si);
}- In
JSON.c:65:
}
si = read_si;
si = JSkipWhitespace(si);
if (!StrIterPeek(&si, &c) || c != ':') {- In
JSON.c:74:
}
StrIterMustNext(&si);
si = JSkipWhitespace(si);
// skip values within object
- In
JSON.c:91:
StrDeinit(&key);
si = read_si;
si = JSkipWhitespace(si);
// expect a comma after a successful key-value pair read
- In
JSON.c:114:
StrIter saved_si = si;
si = JSkipWhitespace(si);
char c;- In
JSON.c:122:
}
StrIterMustNext(&si);
si = JSkipWhitespace(si);
StrIter read_si;- In
JSON.c:135:
}
StrIterMustNext(&si); // skip comma
si = JSkipWhitespace(si);
}- In
JSON.c:148:
si = read_si;
si = JSkipWhitespace(si);
// expect a comma after a successful value read in array
- In
JSON.c:164:
}
StrIter JSkipWhitespace(StrIter si) {
char c;
while (StrIterPeek(&si, &c)) {- In
JSON.c:191:
StrIter saved_si = si;
si = JSkipWhitespace(si);
// string start
- In
JSON.c:309:
StrIter saved_si = si;
si = JSkipWhitespace(si);
// scratch allocator for the digit-accumulator Str `ns`. JSON numbers
// are caller-controlled and have no spec-mandated upper length, so a
- In
JSON.c:509:
StrIter saved_si = si;
si = JSkipWhitespace(si);
char c;- In
JSON.c:558:
StrIter saved_si = si;
si = JSkipWhitespace(si);
*is_null = false;- In
JSON.c:590:
StrIter saved_si = si;
si = JSkipWhitespace(si);
char c; } \
StrIter UNPL(saved_si) = si; \
si = JSkipWhitespace(si); \
char UNPL(jr_c); \
if (!StrIterPeek(&si, &UNPL(jr_c)) || UNPL(jr_c) != '{') { \
} \
StrIterMustNext(&si); \
si = JSkipWhitespace(si); \
StrIter UNPL(read_si); \
bool UNPL(expect_comma) = false; \
} \
StrIterMustNext(&si); \
si = JSkipWhitespace(si); \
} \
Str key = StrInit(&alloc); \
} \
si = UNPL(read_si); \
si = JSkipWhitespace(si); \
if (!StrIterPeek(&si, &UNPL(jr_c)) || UNPL(jr_c) != ':') { \
LOG_ERROR("Expected ':' after key string. Failed to read JSON"); \
} \
StrIterMustNext(&si); \
si = JSkipWhitespace(si); \
StrIter UNPL(si_before_read) = si; \
{ reader } \
} \
StrDeinit(&key); \
si = JSkipWhitespace(si); \
UNPL(expect_comma) = true; \
} \
- In
JSON.h:444:
\
StrIter UNPL(saved_si) = si; \
si = JSkipWhitespace(si); \
\
/* starting of an array */ \
- In
JSON.h:454:
} \
StrIterMustNext(&si); \
si = JSkipWhitespace(si); \
\
bool UNPL(expect_comma) = false; \
- In
JSON.h:469:
} \
StrIterMustNext(&si); /* skip comma */ \
si = JSkipWhitespace(si); \
} \
\
- In
JSON.h:490:
si = UNPL(read_si); \
} \
si = JSkipWhitespace(si); \
\
/* expect a comma after a successful value read in array */ \
- In
JSON.h:540:
\
StrIter UNPL(saved_si) = si; \
si = JSkipWhitespace(si); \
\
/* starting of an object */ \
- In
JSON.h:550:
} \
StrIterMustNext(&si); \
si = JSkipWhitespace(si); \
\
StrIter UNPL(read_si); \
- In
JSON.h:566:
} \
StrIterMustNext(&si); /* skip comma */ \
si = JSkipWhitespace(si); \
} \
\
- In
JSON.h:583:
\
si = UNPL(read_si); \
si = JSkipWhitespace(si); \
\
\
- In
JSON.h:594:
} \
StrIterMustNext(&si); \
si = JSkipWhitespace(si); \
\
\
- In
JSON.h:620:
} \
StrDeinit(&key); \
si = JSkipWhitespace(si); \
\
\
Last updated on