From: Timo Sirainen Date: Thu, 4 Aug 2011 10:38:51 +0000 (+0300) Subject: fts: Added xml2text binary X-Git-Tag: 2.1.alpha1~188 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=04f80fbc38561c95cd3f71a4c8fd3cd48a9c78d4;p=thirdparty%2Fdovecot%2Fcore.git fts: Added xml2text binary --- diff --git a/.hgignore b/.hgignore index 2c5f11202e..3b57522397 100644 --- a/.hgignore +++ b/.hgignore @@ -92,6 +92,7 @@ src/util/rawlog src/util/script src/util/script-login src/util/tcpwrap +src/plugins/fts/xml2text src/plugins/quota/rquota_xdr.c src/plugins/quota/rquota.h diff --git a/src/plugins/fts/Makefile.am b/src/plugins/fts/Makefile.am index 054478db01..e1e7811f18 100644 --- a/src/plugins/fts/Makefile.am +++ b/src/plugins/fts/Makefile.am @@ -36,4 +36,11 @@ noinst_HEADERS = \ fts-search-serialize.h \ fts-storage.h +pkglibexec_PROGRAMS = xml2text + +xml2text_SOURCES = xml2text.c + +xml2text_LDADD = fts-parser-html.lo $(LIBDOVECOT) +xml2text_DEPENDENCIES = fts-parser-html.lo $(LIBDOVECOT_DEPS) + EXTRA_DIST = decode2text.sh diff --git a/src/plugins/fts/xml2text.c b/src/plugins/fts/xml2text.c new file mode 100644 index 0000000000..476bed4540 --- /dev/null +++ b/src/plugins/fts/xml2text.c @@ -0,0 +1,38 @@ +/* Copyright (c) 2011 Dovecot authors, see the included COPYING file */ + +#include "lib.h" +#include "message-parser.h" +#include "fts-parser.h" + +#include + +int main(void) +{ + struct fts_parser *parser; + unsigned char buf[IO_BLOCK_SIZE]; + struct message_block block; + ssize_t ret; + + lib_init(); + + parser = fts_parser_html.try_init(NULL, "text/html", NULL); + i_assert(parser != NULL); + + memset(&block, 0, sizeof(block)); + while ((ret = read(STDIN_FILENO, buf, sizeof(buf))) > 0) { + block.data = buf; + block.size = ret; + parser->v.more(parser, &block); + write(STDOUT_FILENO, block.data, block.size); + } + + for (;;) { + block.size = 0; + parser->v.more(parser, &block); + if (block.size == 0) + break; + write(STDOUT_FILENO, block.data, block.size); + } + + lib_deinit(); +}