summaryrefslogtreecommitdiffstats
path: root/gettext-tools/src/msggrep.c
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2006-10-16 12:28:26 +0000
committerBruno Haible <bruno@clisp.org>2009-06-23 12:14:07 +0200
commitb8f51f17d196ca7c160715194a4943f815060297 (patch)
treeadd12e68e1b70615fcc445aa64f99f3d7d1a00ed /gettext-tools/src/msggrep.c
parent315e38f347702334128e5e503f5634367a1bab3c (diff)
downloadexternal_gettext-b8f51f17d196ca7c160715194a4943f815060297.zip
external_gettext-b8f51f17d196ca7c160715194a4943f815060297.tar.gz
external_gettext-b8f51f17d196ca7c160715194a4943f815060297.tar.bz2
Create an object-oriented interface for the catalog output formats.
Diffstat (limited to 'gettext-tools/src/msggrep.c')
-rw-r--r--gettext-tools/src/msggrep.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/gettext-tools/src/msggrep.c b/gettext-tools/src/msggrep.c
index f9ca965..f6823ce 100644
--- a/gettext-tools/src/msggrep.c
+++ b/gettext-tools/src/msggrep.c
@@ -47,7 +47,10 @@
#include "basename.h"
#include "message.h"
#include "read-po.h"
+#include "write-catalog.h"
#include "write-po.h"
+#include "write-properties.h"
+#include "write-stringtable.h"
#include "str-list.h"
#include "msgl-charset.h"
#include "xalloc.h"
@@ -146,6 +149,7 @@ main (int argc, char **argv)
const char *input_file;
int grep_pass;
msgdomain_list_ty *result;
+ catalog_output_format_ty output_syntax = &output_format_po;
bool sort_by_filepos = false;
bool sort_by_msgid = false;
size_t i;
@@ -310,7 +314,7 @@ error while reading \"%s\""), optarg);
break;
case 'p':
- message_print_syntax_properties ();
+ output_syntax = &output_format_properties;
break;
case 'P':
@@ -376,7 +380,7 @@ error while reading \"%s\""), optarg);
break;
case CHAR_MAX + 8: /* --stringtable-output */
- message_print_syntax_stringtable ();
+ output_syntax = &output_format_stringtable;
break;
default:
@@ -464,7 +468,7 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
msgdomain_list_sort_by_msgid (result);
/* Write the merged message list out. */
- msgdomain_list_print (result, output_file, force_po, false);
+ msgdomain_list_print (result, output_file, output_syntax, force_po, false);
exit (EXIT_SUCCESS);
}