if (strlen (format_language[type]) == n
&& memcmp (format_language[type], p, n) == 0)
{
+ /* This dispatch does the reverse mapping of all the SCANNERS_*
+ macros defined in the x-*.h files. For example,
+ SCANNERS_JAVA contains an entry
+ { ...,
+ &flag_table_java,
+ &formatstring_java, &formatstring_java_printf
+ }
+ Therefore here, we have to associate
+ format_java with flag_table_java at index 0,
+ format_java_printf with flag_table_java at index 1. */
switch (type)
{
case format_c:
flag_context_list_table_insert (&flag_table_objc, 0,
name_start, name_end,
argnum, value, pass);
+ flag_context_list_table_insert (&flag_table_vala, 0,
+ name_start, name_end,
+ argnum, value, pass);
break;
case format_objc:
flag_context_list_table_insert (&flag_table_objc, 1,
xgettext-tcl-stackovfl-1 xgettext-tcl-stackovfl-2 \
xgettext-tcl-stackovfl-3 xgettext-tcl-stackovfl-4 \
xgettext-vala-1 xgettext-vala-2 xgettext-vala-3 xgettext-vala-4 \
+ xgettext-vala-5 \
xgettext-vala-stackovfl-1 xgettext-vala-stackovfl-2 \
xgettext-ycp-1 xgettext-ycp-2 xgettext-ycp-3 xgettext-ycp-4 \
xgettext-ycp-stackovfl-1 xgettext-ycp-stackovfl-2 \
--- /dev/null
+#! /bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test Vala support: pass-c-format.
+
+: ${XGETTEXT=xgettext}
+
+cat <<\EOF > xg-vala-5.vala
+printf (_("blablaQ %d and %s"), a, b);
+printf (_("blablaQ {0} and {1}"), a, b);
+EOF
+
+${XGETTEXT} --omit-header --no-location -o xg-vala-5.tmp xg-vala-5.vala || Exit 1
+func_filter_POT_Creation_Date xg-vala-5.tmp xg-vala-5.po
+
+cat <<\EOF > xg-vala-5.ok
+#, c-format
+msgid "blablaQ %d and %s"
+msgstr ""
+
+#, c-format
+msgid "blablaQ {0} and {1}"
+msgstr ""
+EOF
+
+: ${DIFF=diff}
+${DIFF} xg-vala-5.ok xg-vala-5.po
+result=$?
+
+exit $result