Differences From Artifact [706b49d04b]:
- File src/OFString+JSONParsing.m — part of check-in [8611f48f42] at 2020-08-13 21:07:20 on branch trunk — OFString: Rename JSONValue to objectByParsingJSON (user: js, size: 13120) [annotate] [blame] [check-ins using] [more...]
To Artifact [c0346b7fe9]:
- File
src/OFString+JSONParsing.m
— part of check-in
[0ddaac3f5b]
at
2020-11-05 00:24:29
on branch trunk
— Avoid -[allocMemoryWithSize:] for temporary memory
-[allocMemoryWithSize:] has book keeping overhead that is unnecessary
for temporary memory. (user: js, size: 13091) [annotate] [blame] [check-ins using] [more...]
| ︙ | ︙ | |||
144 145 146 147 148 149 150 | char *buffer; size_t i = 0; char delimiter = **pointer; if (++(*pointer) + 1 >= stop) return nil; | | < | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
char *buffer;
size_t i = 0;
char delimiter = **pointer;
if (++(*pointer) + 1 >= stop)
return nil;
buffer = of_malloc(stop - *pointer, 1);
while (*pointer < stop) {
/* Parse escape codes */
if (**pointer == '\\') {
if (++(*pointer) >= stop) {
free(buffer);
return nil;
|
| ︙ | ︙ | |||
291 292 293 294 295 296 297 |
static inline OFString *
parseIdentifier(const char **pointer, const char *stop)
{
char *buffer;
size_t i = 0;
| | < | 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 |
static inline OFString *
parseIdentifier(const char **pointer, const char *stop)
{
char *buffer;
size_t i = 0;
buffer = of_malloc(stop - *pointer, 1);
while (*pointer < stop) {
if ((**pointer >= 'a' && **pointer <= 'z') ||
(**pointer >= 'A' && **pointer <= 'Z') ||
(**pointer >= '0' && **pointer <= '9') ||
**pointer == '_' || **pointer == '$' ||
(**pointer & 0x80)) {
|
| ︙ | ︙ | |||
382 383 384 385 386 387 388 389 390 391 392 393 394 395 |
}
}
/*
* It is never possible to end with an identifier, thus we should never
* reach stop.
*/
return nil;
}
static inline OFMutableArray *
parseArray(const char **pointer, const char *stop, size_t *line,
size_t depthLimit)
{
| > | 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 |
}
}
/*
* It is never possible to end with an identifier, thus we should never
* reach stop.
*/
free(buffer);
return nil;
}
static inline OFMutableArray *
parseArray(const char **pointer, const char *stop, size_t *line,
size_t depthLimit)
{
|
| ︙ | ︙ |