summaryrefslogtreecommitdiff
path: root/package/gettext-tiny/src/src/poparser.h
diff options
context:
space:
mode:
authorWaldemar Brodkorb <mail@waldemar-brodkorb.de>2013-10-03 19:52:47 +0200
committerWaldemar Brodkorb <mail@waldemar-brodkorb.de>2013-10-03 19:52:47 +0200
commitae8520cfbb9cce8cfe38b00b52f202584ae1fab4 (patch)
treef03f2553582d3647393f0c1617c74ae0438192ab /package/gettext-tiny/src/src/poparser.h
parent05a7f514cca7e6858e5f5dd46cecd0c3bd6f9f71 (diff)
update samba to latest version, use stub gettext-tiny; use utf8 charset by default for vfat
Diffstat (limited to 'package/gettext-tiny/src/src/poparser.h')
-rw-r--r--package/gettext-tiny/src/src/poparser.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/package/gettext-tiny/src/src/poparser.h b/package/gettext-tiny/src/src/poparser.h
new file mode 100644
index 000000000..e29594f35
--- /dev/null
+++ b/package/gettext-tiny/src/src/poparser.h
@@ -0,0 +1,36 @@
+#ifndef POPARSER_H
+#define POPARSER_H
+#include <unistd.h>
+
+enum po_entry {
+ pe_msgid = 0,
+ pe_msgstr,
+ pe_maxstr,
+ pe_str = pe_maxstr,
+ pe_invalid,
+ pe_max,
+};
+
+struct po_info {
+ enum po_entry type;
+ char *text;
+ size_t textlen;
+};
+
+typedef int (*poparser_callback)(struct po_info* info, void* user);
+
+struct po_parser {
+ struct po_info info;
+ char *buf;
+ size_t bufsize;
+ enum po_entry prev_type;
+ unsigned curr_len;
+ poparser_callback cb;
+ void *cbdata;
+};
+
+void poparser_init(struct po_parser *p, char* workbuf, size_t bufsize, poparser_callback cb, void* cbdata);
+int poparser_feed_line(struct po_parser *p, char* line, size_t buflen);
+int poparser_finish(struct po_parser *p);
+
+#endif