Overview
Comment: | of_asprintf: Don't accept length modifiers for %@.
Same for %C. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
0232e0c9759c05f937c0dc1fe145a378 |
User & Date: | js on 2013-11-23 03:02:17 |
Other Links: | manifest | tags |
Context
2013-11-23
| ||
03:24 | of_asprintf: Change %C to %k. check-in: 5eada9f7b0 user: js tags: trunk | |
03:02 | of_asprintf: Don't accept length modifiers for %@. check-in: 0232e0c975 user: js tags: trunk | |
02:07 | OFZIP: Fix type mismatch. check-in: 6e61a3dc0e user: js tags: trunk | |
Changes
Modified src/of_asprintf.m from [0f6776e0aa] to [7dd06b0a1f].
︙ | |||
291 292 293 294 295 296 297 298 299 300 301 302 303 304 | 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 | + + + | int tmpLen = 0; if (!appendSubformat(ctx, ctx->format + ctx->i, 1)) return false; switch (ctx->format[ctx->i]) { case '@': if (ctx->lengthModifier != LENGTH_MODIFIER_NONE) return false; ctx->subformat[ctx->subformatLen - 1] = 's'; @try { id object; if ((object = va_arg(ctx->arguments, id)) != nil) { void *pool = objc_autoreleasePoolPush(); |
︙ | |||
313 314 315 316 317 318 319 320 321 322 323 324 325 326 | 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 | + + + | } @catch (id e) { free(ctx->buffer); @throw e; } break; case 'C': if (ctx->lengthModifier != LENGTH_MODIFIER_NONE) return false; ctx->subformat[ctx->subformatLen - 1] = 's'; { char buffer[5]; size_t len = of_string_utf8_encode( va_arg(ctx->arguments, of_unichar_t), buffer); |
︙ |