cmd_make_sequence (idata);
/* seq, space, cmd, \r\n\0 */
- outlen = safe_strlen (idata->cmd.seq) + safe_strlen (cmd) + 4;
+ outlen = mutt_strlen (idata->cmd.seq) + mutt_strlen (cmd) + 4;
out = (char *) safe_malloc (outlen);
snprintf (out, outlen, "%s %s\r\n", idata->cmd.seq, cmd);
int outlen;
int rc;
+ if (!idata) {
+ mutt_error (_("No mailbox is open."));
+ mutt_sleep (1);
+ return (-1);
+ }
+
if (idata->status == IMAP_FATAL) {
cmd_handle_fatal (idata);
return -1;
/* create sequence for command */
cmd_make_sequence (idata);
/* seq, space, cmd, \r\n\0 */
- outlen = safe_strlen (idata->cmd.seq) + safe_strlen (cmd) + 4;
+ outlen = mutt_strlen (idata->cmd.seq) + mutt_strlen (cmd) + 4;
out = (char *) safe_malloc (outlen);
snprintf (out, outlen, "%s %s\r\n", idata->cmd.seq, cmd);
idata->status = IMAP_FATAL;
if ((idata->state == IMAP_SELECTED) &&
- (idata->reopen & IMAP_REOPEN_ALLOW) && !idata->ctx->closing) {
- /*mx_fastclose_mailbox (idata->ctx); */
+ (idata->reopen & IMAP_REOPEN_ALLOW)) {
+ /* mx_fastclose_mailbox (idata->ctx); */
mutt_error (_("Mailbox closed"));
mutt_sleep (1);
idata->state = IMAP_DISCONNECTED;
if (idata->state != IMAP_SELECTED) {
idata->state = IMAP_DISCONNECTED;
+ mutt_socket_close (idata->conn);
idata->status = 0;
}
}
s += 3;
SKIPWS (s);
mutt_error ("%s", s);
- idata->status = IMAP_BYE;
-
- /*if (imap_reconnect(idata->ctx)!=0) {
- if (idata->state == IMAP_SELECTED)
- mx_fastclose_mailbox (idata->ctx); *//* XXX memleak? */
- mutt_socket_close (idata->conn);
- idata->state = IMAP_DISCONNECTED;
+ mutt_sleep (2);
+ cmd_handle_fatal (idata);
return -1;
- /*} else {
- return 0;
- } */
}
else if (option (OPTIMAPSERVERNOISE)
&& (ascii_strncasecmp ("NO", s, 2) == 0)) {