---
 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

Reply via email to