summaryrefslogtreecommitdiff
path: root/imap4d/io.c
diff options
context:
space:
mode:
Diffstat (limited to 'imap4d/io.c')
-rw-r--r--imap4d/io.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/imap4d/io.c b/imap4d/io.c
index a8b6cb0be..fcae10707 100644
--- a/imap4d/io.c
+++ b/imap4d/io.c
@@ -241,7 +241,11 @@ io_format_completion_response (mu_stream_t str,
new_state = STATE_NONE;
if (new_state != STATE_NONE)
- state = new_state;
+ {
+ if (new_state == STATE_AUTH)
+ set_xscript_level (XSCRIPT_NORMAL);
+ state = new_state;
+ }
return status;
}
@@ -570,6 +574,7 @@ imap4d_readline (struct imap4d_tokbuf *tok)
char *sp = NULL;
char *buf;
size_t len;
+ int xlev = set_xscript_level (XSCRIPT_PAYLOAD);
number = strtoul (last_arg + 1, &sp, 10);
/* Client can ask for non-synchronised literal,
@@ -595,6 +600,7 @@ imap4d_readline (struct imap4d_tokbuf *tok)
tok->level += len;
tok->buffer[tok->level++] = 0;
tok->argp[tok->argc - 1] = off;
+ set_xscript_level (xlev);
}
else
break;

Return to:

Send suggestions and report system problems to the System administrator.