/* Useful macros for the command functions: */
#define haveargs(n) do { if(argc < n) { sq(sk, 0, L"501", L"Wrong number of arguments", NULL); return; } } while(0)
-#define havepriv(p) do { if((data->userinfo == NULL) || ((data->userinfo->perms & (p)) != (p))) { sq(sk, 0, L"502", L"Unauthorized request", L"needed", L"%x", (p), L"had", L"%x", data->userinfo->perms, NULL); return; } } while(0)
+#define havepriv(p) do { if((data->userinfo == NULL) || ((data->userinfo->perms & (p)) != (p))) { sq(sk, 0, L"502", L"Unauthorized request", L"needed", L"%x", (p), NULL); return; } } while(0)
static void cmd_connect(struct socket *sk, struct uidata *data, int argc, wchar_t **argv)
{
notif->argv[ca].d.n = va_arg(args, int);
break;
case NOTIF_STR:
- notif->argv[ca].d.s = wcsdup(va_arg(args, wchar_t *));
+ notif->argv[ca].d.s = swcsdup(va_arg(args, wchar_t *));
break;
case NOTIF_FLOAT:
notif->argv[ca].d.d = va_arg(args, double);