|
|
@ -605,6 +605,20 @@ transform_refcounted_box_response( imap_cmd_refcounted_state_t *sts, int respons |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static void |
|
|
|
|
|
|
|
transform_refcounted_msg_response( imap_cmd_refcounted_state_t *sts, int response ) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
switch (response) { |
|
|
|
|
|
|
|
case RESP_CANCEL: |
|
|
|
|
|
|
|
sts->ret_val = DRV_CANCELED; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case RESP_NO: |
|
|
|
|
|
|
|
if (sts->ret_val == DRV_OK) /* Don't override cancelation. */ |
|
|
|
|
|
|
|
sts->ret_val = DRV_MSG_BAD; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static const char * |
|
|
|
static const char * |
|
|
|
imap_strchr( const char *s, char tc ) |
|
|
|
imap_strchr( const char *s, char tc ) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -2665,15 +2679,8 @@ static void |
|
|
|
imap_set_flags_p2( imap_store_t *ctx ATTR_UNUSED, imap_cmd_t *cmd, int response ) |
|
|
|
imap_set_flags_p2( imap_store_t *ctx ATTR_UNUSED, imap_cmd_t *cmd, int response ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
imap_set_msg_flags_state_t *sts = (imap_set_msg_flags_state_t *)((imap_cmd_refcounted_t *)cmd)->state; |
|
|
|
imap_set_msg_flags_state_t *sts = (imap_set_msg_flags_state_t *)((imap_cmd_refcounted_t *)cmd)->state; |
|
|
|
switch (response) { |
|
|
|
|
|
|
|
case RESP_CANCEL: |
|
|
|
transform_refcounted_msg_response( &sts->gen, response); |
|
|
|
sts->gen.ret_val = DRV_CANCELED; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case RESP_NO: |
|
|
|
|
|
|
|
if (sts->gen.ret_val == DRV_OK) /* Don't override cancelation. */ |
|
|
|
|
|
|
|
sts->gen.ret_val = DRV_MSG_BAD; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
imap_set_flags_p3( sts ); |
|
|
|
imap_set_flags_p3( sts ); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|