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) { |
︙ | ︙ |