419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
|
if (ctx->lengthModifier != lengthModifierNone)
return false;
ctx->subformat[ctx->subformatLen - 1] = 's';
{
char buffer[5];
size_t len = OFUTF8StringEncode(
va_arg(ctx->arguments, OFUnichar), buffer);
if (len == 0)
return false;
buffer[len] = 0;
tmpLen = asprintf(&tmp, ctx->subformat, buffer);
|
|
|
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
|
if (ctx->lengthModifier != lengthModifierNone)
return false;
ctx->subformat[ctx->subformatLen - 1] = 's';
{
char buffer[5];
size_t len = _OFUTF8StringEncode(
va_arg(ctx->arguments, OFUnichar), buffer);
if (len == 0)
return false;
buffer[len] = 0;
tmpLen = asprintf(&tmp, ctx->subformat, buffer);
|
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
|
return false;
if ((buffer = malloc((len * 4) + 1)) == NULL)
return false;
j = 0;
for (size_t i = 0; i < len; i++) {
size_t clen = OFUTF8StringEncode(arg[i],
buffer + j);
if (clen == 0) {
free(buffer);
return false;
}
|
|
|
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
|
return false;
if ((buffer = malloc((len * 4) + 1)) == NULL)
return false;
j = 0;
for (size_t i = 0; i < len; i++) {
size_t clen = _OFUTF8StringEncode(arg[i],
buffer + j);
if (clen == 0) {
free(buffer);
return false;
}
|
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
|
formatFlagsState,
formatFieldWidthState,
formatLengthModifierState,
formatConversionSpecifierState
};
int
OFVASPrintF(char **string, const char *format, va_list arguments)
{
struct Context ctx;
ctx.format = format;
ctx.formatLen = strlen(format);
memset(ctx.subformat, 0, maxSubformatLen + 1);
ctx.subformatLen = 0;
|
|
|
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
|
formatFlagsState,
formatFieldWidthState,
formatLengthModifierState,
formatConversionSpecifierState
};
int
_OFVASPrintF(char **string, const char *format, va_list arguments)
{
struct Context ctx;
ctx.format = format;
ctx.formatLen = strlen(format);
memset(ctx.subformat, 0, maxSubformatLen + 1);
ctx.subformatLen = 0;
|