X-Git-Url: http://dolda2000.com/gitweb/?p=doldaconnect.git;a=blobdiff_plain;f=lib%2Fuilib.c;h=a2993956d6dfece156fae3fc44a7c6f942dc98dc;hp=acc7594e676561927fef80b77a970ba4194e6f25;hb=ae93c710feb83661705620d14e9712f7b3a7879b;hpb=8f623b36d661bfcf18b30a088177f6a5131bd1d9 diff --git a/lib/uilib.c b/lib/uilib.c index acc7594..a299395 100644 --- a/lib/uilib.c +++ b/lib/uilib.c @@ -43,6 +43,7 @@ #include #include #include +#include #ifdef HAVE_RESOLVER #include #include @@ -103,7 +104,8 @@ struct { int family; int sentcreds; } servinfo; -char *dc_srv_local; +char dc_srv_local_addr; +char *dc_srv_local = &dc_srv_local_addr; static void message(int bits, char *format, ...) { @@ -319,7 +321,6 @@ int dc_init(void) { if((ichandle = iconv_open("wchar_t", "utf-8")) == (iconv_t)-1) return(-1); - dc_srv_local = sstrdup(""); initcmds(); return(0); } @@ -477,6 +478,9 @@ int dc_queuecmd(int (*callback)(struct dc_response *), void *data, ...) { freepart = 1; part = swprintf2(L"%i", va_arg(al, int)); + } else if(!wcscmp(tpart, L"li")) { + freepart = 1; + part = swprintf2(L"%ji", (intmax_t)va_arg(al, dc_lnum_t)); } else if(!wcscmp(tpart, L"s")) { freepart = 1; part = icmbstowcs(sarg = va_arg(al, char *), NULL); @@ -487,6 +491,7 @@ int dc_queuecmd(int (*callback)(struct dc_response *), void *data, ...) return(-1); } } else if(!wcscmp(tpart, L"ls")) { + freepart = 0; part = va_arg(al, wchar_t *); } else if(!wcscmp(tpart, L"ll")) { freepart = 1;