Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChantry Xavier <shiningxc@gmail.com>2008-02-25 21:52:53 +0100
committerDan McGee <dan@archlinux.org>2008-02-25 20:25:57 -0600
commit7eaad2f2a9879499d29e20bb897b018f0b13f6c1 (patch)
tree78734ddf940301c349b4a0296e47a4f612c748ae
parentc23ecc6160749e635767cdfbd23760e9e809c949 (diff)
xgettext : change pass-c-format flag to c-format.
Currently xgettext apparently attempts to autodetect c format strings (eg a string with a %s) to decide whether to use c-format flag or not. If we use --flag=_:1:c-format instead of --flag=_:1:pass-c-format, the c-format will be applied everywhere. I couldn't find this documented anywhere though. But the pass prefix is mentioned here : http://www.gnu.org/software/gettext/manual/html_node/xgettext-Invocation.html#xgettext-Invocation "Specifies additional flags for strings occurring as part of the argth argument of the function word. The possible flags are the possible format string indicators, such as ‘c-format’, and their negations, such as ‘no-c-format’, possibly prefixed with ‘pass-’." And c-format is documented there : http://www.gnu.org/software/gettext/manual/html_node/c_002dformat-Flag.html#c_002dformat-Flag "This situation happens quite often. The printf function is often called with strings which do not contain a format specifier. Of course one would normally use fputs but it does happen. In this case xgettext does not recognize this as a format string but what happens if the translation introduces a valid format specifier? The printf function will try to access one of the parameters but none exists because the original code does not pass any parameters." And that's exactly what happened with FS#9658. So using c-format for every string will prevent this issue from happening again. Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
-rw-r--r--lib/libalpm/po/Makevars4
-rw-r--r--po/Makevars4
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/libalpm/po/Makevars b/lib/libalpm/po/Makevars
index 1b1b8279..d7515220 100644
--- a/lib/libalpm/po/Makevars
+++ b/lib/libalpm/po/Makevars
@@ -9,8 +9,8 @@ top_builddir = ../../../
# These options get passed to xgettext.
XGETTEXT_OPTIONS = \
- --keyword=_ --flag=_:1:pass-c-format \
- --keyword=N_ --flag=N_:1:pass-c-format
+ --keyword=_ --flag=_:1:c-format \
+ --keyword=N_ --flag=N_:1:c-format
# This is the copyright holder that gets inserted into the header of the
# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
diff --git a/po/Makevars b/po/Makevars
index 94d8294a..38a4692e 100644
--- a/po/Makevars
+++ b/po/Makevars
@@ -9,8 +9,8 @@ top_builddir = ../
# These options get passed to xgettext.
XGETTEXT_OPTIONS = \
- --keyword=_ --flag=_:1:pass-c-format \
- --keyword=N_ --flag=N_:1:pass-c-format
+ --keyword=_ --flag=_:1:c-format \
+ --keyword=N_ --flag=N_:1:c-format
# This is the copyright holder that gets inserted into the header of the
# $(DOMAIN).pot file.