]> git.ipfire.org Git - thirdparty/gettext.git/commit
xgettext: Check msgid and msgid_plural for compatibility as format strings.
authorBruno Haible <bruno@clisp.org>
Thu, 3 Jul 2025 14:56:01 +0000 (16:56 +0200)
committerBruno Haible <bruno@clisp.org>
Thu, 3 Jul 2025 15:41:22 +0000 (17:41 +0200)
commit94906022d9ffdebb4aacbb894de8076a9a917e31
treeb7c5cad77b11b9d3c12c935ec1f1e541fcb07871
parent92eed468031c17269dbce6e85638309f6d88a316
xgettext: Check msgid and msgid_plural for compatibility as format strings.

* gettext-tools/src/if-error.h: Include <stdarg.h>.
(if_verror): New declaration.
* gettext-tools/src/if-error.c (if_verror): New function, extracted from
if_error.
(if_error): Invoke it.
* gettext-tools/src/xg-check.h (xgettext_check_message_list): Renamed from
syntax_check_message_list.
* gettext-tools/src/xg-check.c: Include format.h, if-error.h.
(struct formatstring_error_logger_locals): New type.
(formatstring_error_logger, format_check_message): New functions.
(xgettext_check_message_list): Renamed from syntax_check_message_list. Invoke
also format_check_message.
* gettext-tools/src/xgettext.c (main): Invoke xgettext_check_message_list
instead of syntax_check_message_list.
* gettext-tools/tests/xgettext-19: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add it.
* NEWS: Mention the change.
NEWS
gettext-tools/src/if-error.c
gettext-tools/src/if-error.h
gettext-tools/src/xg-check.c
gettext-tools/src/xg-check.h
gettext-tools/src/xgettext.c
gettext-tools/tests/Makefile.am
gettext-tools/tests/xgettext-19 [new file with mode: 0755]