Lines Matching refs:spec
121 struct spec struct
133 static bool choice_format_parse (const char *format, struct spec *spec, argument
152 message_format_parse (const char *format, struct spec *spec, in message_format_parse() argument
171 spec->directives++; in message_format_parse()
203 …xasprintf (_("In the directive number %u, '{' is not followed by an argument number."), spec->dire… in message_format_parse()
237 …ective number %u, the substring \"%s\" is not a valid date/time style."), spec->directives, elemen… in message_format_parse()
247 …xasprintf (_("In the directive number %u, \"%s\" is not followed by a comma."), spec->directives, … in message_format_parse()
269 …directive number %u, the substring \"%s\" is not a valid number style."), spec->directives, elemen… in message_format_parse()
279 …xasprintf (_("In the directive number %u, \"%s\" is not followed by a comma."), spec->directives, … in message_format_parse()
293 if (choice_format_parse (element, spec, invalid_reason)) in message_format_parse()
306 …xasprintf (_("In the directive number %u, \"%s\" is not followed by a comma."), spec->directives, … in message_format_parse()
314 … is not followed by a comma and one of \"%s\", \"%s\", \"%s\", \"%s\"."), spec->directives, "time"… in message_format_parse()
320 if (spec->allocated == spec->numbered_arg_count) in message_format_parse()
322 spec->allocated = 2 * spec->allocated + 1; in message_format_parse()
323 …spec->numbered = (struct numbered_arg *) xrealloc (spec->numbered, spec->allocated * sizeof (struc… in message_format_parse()
325 spec->numbered[spec->numbered_arg_count].number = number; in message_format_parse()
326 spec->numbered[spec->numbered_arg_count].type = type; in message_format_parse()
327 spec->numbered_arg_count++; in message_format_parse()
502 choice_format_parse (const char *format, struct spec *spec, in choice_format_parse() argument
558 xasprintf (_("In the directive number %u, a choice contains no number."), spec->directives); in choice_format_parse()
569 …, a choice contains a number that is not followed by '<', '#' or '%s'."), spec->directives, "\\u22… in choice_format_parse()
584 msgformat_valid = message_format_parse (msgformat, spec, invalid_reason); in choice_format_parse()
613 struct spec spec; in format_parse() local
614 struct spec *result; in format_parse()
616 spec.directives = 0; in format_parse()
617 spec.numbered_arg_count = 0; in format_parse()
618 spec.allocated = 0; in format_parse()
619 spec.numbered = NULL; in format_parse()
621 if (!message_format_parse (format, &spec, invalid_reason)) in format_parse()
625 if (spec.numbered_arg_count > 1) in format_parse()
630 qsort (spec.numbered, spec.numbered_arg_count, in format_parse()
635 for (i = j = 0; i < spec.numbered_arg_count; i++) in format_parse()
636 if (j > 0 && spec.numbered[i].number == spec.numbered[j-1].number) in format_parse()
638 enum format_arg_type type1 = spec.numbered[i].type; in format_parse()
639 enum format_arg_type type2 = spec.numbered[j-1].type; in format_parse()
652 INVALID_INCOMPATIBLE_ARG_TYPES (spec.numbered[i].number); in format_parse()
656 spec.numbered[j-1].type = type_both; in format_parse()
662 spec.numbered[j].number = spec.numbered[i].number; in format_parse()
663 spec.numbered[j].type = spec.numbered[i].type; in format_parse()
667 spec.numbered_arg_count = j; in format_parse()
673 result = (struct spec *) xmalloc (sizeof (struct spec)); in format_parse()
674 *result = spec; in format_parse()
678 if (spec.numbered != NULL) in format_parse()
679 free (spec.numbered); in format_parse()
686 struct spec *spec = (struct spec *) descr; in format_free() local
688 if (spec->numbered != NULL) in format_free()
689 free (spec->numbered); in format_free()
690 free (spec); in format_free()
696 struct spec *spec = (struct spec *) descr; in format_get_number_of_directives() local
698 return spec->directives; in format_get_number_of_directives()
706 struct spec *spec1 = (struct spec *) msgid_descr; in format_check()
707 struct spec *spec2 = (struct spec *) msgstr_descr; in format_check()
796 struct spec *spec = (struct spec *) descr; in format_print() local
800 if (spec == NULL) in format_print()
808 for (i = 0; i < spec->numbered_arg_count; i++) in format_print()
810 unsigned int number = spec->numbered[i].number; in format_print()
818 switch (spec->numbered[i].type) in format_print()