72 |
if (!name || *name == '\0' || !sp || *sp == '\0') |
if (!name || *name == '\0' || !sp || *sp == '\0') |
73 |
return util_finish (command, RESP_BAD, "Too few args"); |
return util_finish (command, RESP_BAD, "Too few args"); |
74 |
|
|
75 |
if (strcasecmp (name, "INBOX") == 0 && !mu_virtual_domain) |
mailbox_name = namespace_getfullpath (name, delim); |
|
{ |
|
|
struct passwd *pw = mu_getpwuid (getuid()); |
|
|
if (!pw) |
|
|
return util_finish (command, RESP_NO, "Cannot map UID to username"); |
|
|
mailbox_name = malloc (strlen (mu_path_maildir) + |
|
|
strlen (pw->pw_name) + 1); |
|
|
if (!mailbox_name) |
|
|
{ |
|
|
syslog (LOG_ERR, "Not enough memory"); |
|
|
return util_finish (command, RESP_NO, "Not enough memory"); |
|
|
} |
|
|
sprintf (mailbox_name, "%s%s", mu_path_maildir, pw->pw_name); |
|
|
} |
|
|
else |
|
|
mailbox_name = namespace_getfullpath (name, delim); |
|
76 |
|
|
77 |
if (!mailbox_name) |
if (!mailbox_name) |
78 |
return util_finish (command, RESP_NO, "Error opening mailbox"); |
return util_finish (command, RESP_NO, "Error opening mailbox"); |