--- src/drv_imap.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/drv_imap.c b/src/drv_imap.c index f50e0a5..3332e4c 100644 --- a/src/drv_imap.c +++ b/src/drv_imap.c @@ -597,6 +597,17 @@ imap_vprintf( const char *fmt, va_list ap ) *d++ = '\\'; *d++ = c; } + } else if ( c == '^' ) { + c = *++fmt; + if (c != 's') { + fputs( "Fatal: unsupported encoding format specifier. Please report a bug.\n", stderr ); + abort(); + } + s = va_arg( ap, const char * ); + char const * utf7_imap = encode_utf7_imap(s); + strncpy(d, utf7_imap, ed - d);// Assumes it works. TODO check for errors. + d += strlen(utf7_imap); + free(utf7_imap); } else { /* \\ cannot be combined with anything else. */ if (c == '.') { c = *++fmt; -- 2.26.2
_______________________________________________ isync-devel mailing list isync-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/isync-devel