commit 63f2c15c7dfa129bb952e61b74618c66c9a1c2b9
Author: Oswald Buddenhagen <[email protected]>
Date: Sat Nov 20 10:17:41 2010 +0100
after [TRYCREATE], just resend the same command instead of cloning it
src/drv_imap.c | 15 +++++----------
1 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/src/drv_imap.c b/src/drv_imap.c
index ae9399b..13887cf 100644
--- a/src/drv_imap.c
+++ b/src/drv_imap.c
@@ -509,7 +509,8 @@ v_submit_imap_cmd( imap_store_t *ctx, struct imap_cmd *cmd,
if (!cmd)
cmd = new_imap_cmd();
cmd->tag = ++ctx->nexttag;
- nfvasprintf( &cmd->cmd, fmt, ap );
+ if (fmt)
+ nfvasprintf( &cmd->cmd, fmt, ap );
if (!cmd->param.data) {
buffmt = "%d %s\r\n";
litplus = 0;
@@ -998,7 +999,7 @@ parse_list_rsp( imap_store_t *ctx, char *cmd )
static int
get_cmd_result( imap_store_t *ctx, struct imap_cmd *tcmd )
{
- struct imap_cmd *cmdp, **pcmdp, *ncmdp;
+ struct imap_cmd *cmdp, **pcmdp;
char *cmd, *arg, *arg1, *p;
int n, resp, resp2, tag;
@@ -1098,19 +1099,13 @@ get_cmd_result( imap_store_t *ctx, struct imap_cmd
*tcmd )
}
/* not waiting here violates
the spec, but a server that does not
grok this nonetheless
violates it too. */
- ncmdp = nfmalloc(
sizeof(*ncmdp) );
- memcpy( &ncmdp->param,
&cmdp->param, sizeof(cmdp->param) );
- ncmdp->param.create = 0;
- if (!submit_imap_cmd( ctx,
ncmdp, "%s", cmdp->cmd )) {
+ cmdp->param.create = 0;
+ if (!submit_imap_cmd( ctx,
cmdp, 0 )) {
resp = RESP_BAD;
goto normal;
}
- free( cmdp->cmd );
- free( cmdp );
if (!tcmd)
return 0; /*
ignored */
- if (cmdp == tcmd)
- tcmd = ncmdp;
continue;
}
resp = RESP_NO;
------------------------------------------------------------------------------
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
_______________________________________________
isync-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/isync-devel