Mercurial > dovecot > original-hg > dovecot-1.2
changeset 8383:8815fc1099c8 HEAD
Added imap_utf7 tool for mUTF-7 <-> UTF-8 conversion.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 01 Nov 2008 22:32:04 +0200 |
parents | bcf3a185bfc1 |
children | c6482b5cdea1 |
files | .hgignore src/util/Makefile.am src/util/imap-utf7.c |
diffstat | 3 files changed, 46 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgignore Sat Nov 01 21:16:38 2008 +0200 +++ b/.hgignore Sat Nov 01 22:32:04 2008 +0200 @@ -74,6 +74,7 @@ src/util/dovecotpw src/util/gdbhelper src/util/idxview +src/util/imap_utf7 src/util/listview src/util/logview src/util/maildirlock
--- a/src/util/Makefile.am Sat Nov 01 21:16:38 2008 +0200 +++ b/src/util/Makefile.am Sat Nov 01 22:32:04 2008 +0200 @@ -4,6 +4,7 @@ rawlog \ gdbhelper \ idxview \ + imap_utf7 \ listview \ logview \ maildirlock \ @@ -14,6 +15,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src/lib \ -I$(top_srcdir)/src/lib-mail \ + -I$(top_srcdir)/src/lib-imap \ -I$(top_srcdir)/src/lib-index \ -I$(top_srcdir)/src/lib-storage/index/maildir \ -I$(top_srcdir)/src/auth @@ -34,6 +36,12 @@ idxview_SOURCES = \ idxview.c +imap_utf7_LDADD = \ + ../lib-imap/imap-utf7.o \ + ../lib/liblib.a +imap_utf7_SOURCES = \ + imap-utf7.c + listview_LDADD = \ ../lib/liblib.a listview_SOURCES = \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/util/imap-utf7.c Sat Nov 01 22:32:04 2008 +0200 @@ -0,0 +1,37 @@ +/* Copyright (c) 2008 Dovecot authors, see the included COPYING file */ + +#include "lib.h" +#include "str.h" +#include "imap-utf7.h" + +#include <stdio.h> + +int main(int argc ATTR_UNUSED, const char *argv[]) +{ + string_t *dest; + bool reverse = FALSE; + int ret; + + lib_init(); + + if (argv[1] != NULL && strcmp(argv[1], "-r") == 0) { + reverse = TRUE; + argv++; + } + + if (argv[1] == NULL) { + fprintf(stderr, "Usage: %s [-r] <string>", argv[0]); + return 1; + } + + dest = t_str_new(256); + ret = reverse ? + imap_utf8_to_utf7(argv[1], dest) : + imap_utf7_to_utf8(argv[1], dest); + if (ret < 0) { + fprintf(stderr, "Invalid input\n"); + return 1; + } + printf("%s\n", str_c(dest)); + return 0; +}