فهرست منبع

fix chaining of COMPRESS invocation

it was bound to the use of NAMESPACE, which made no sense at all.
Oswald Buddenhagen 10 سال پیش
والد
کامیت
1701e3d84f
1فایلهای تغییر یافته به همراه15 افزوده شده و 8 حذف شده
  1. 15 8
      src/drv_imap.c

+ 15 - 8
src/drv_imap.c

@@ -1527,6 +1527,7 @@ static void imap_open_store_authenticate2_p2( imap_store_t *, struct imap_cmd *,
 static void imap_open_store_namespace( imap_store_t * );
 static void imap_open_store_namespace_p2( imap_store_t *, struct imap_cmd *, int );
 static void imap_open_store_namespace2( imap_store_t * );
+static void imap_open_store_compress( imap_store_t * );
 #ifdef HAVE_LIBZ
 static void imap_open_store_compress_p2( imap_store_t *, struct imap_cmd *, int );
 #endif
@@ -2055,7 +2056,7 @@ imap_open_store_namespace( imap_store_t *ctx )
 			imap_open_store_namespace2( ctx );
 		return;
 	}
-	imap_open_store_finalize( ctx );
+	imap_open_store_compress( ctx );
 }
 
 static void
@@ -2085,18 +2086,24 @@ imap_open_store_namespace2( imap_store_t *ctx )
 			ctx->prefix = nsp_1st_ns->val;
 		if (!ctx->delimiter)
 			ctx->delimiter = nfstrdup( nsp_1st_dl->val );
-#ifdef HAVE_LIBZ
-		if (CAP(COMPRESS_DEFLATE)) { /* XXX make that configurable */
-			imap_exec( ctx, 0, imap_open_store_compress_p2, "COMPRESS DEFLATE" );
-			return;
-		}
-#endif
-		imap_open_store_finalize( ctx );
+		imap_open_store_compress( ctx );
 	} else {
 		imap_open_store_bail( ctx, FAIL_FINAL );
 	}
 }
 
+static void
+imap_open_store_compress( imap_store_t *ctx )
+{
+#ifdef HAVE_LIBZ
+	if (CAP(COMPRESS_DEFLATE)) { /* XXX make that configurable */
+		imap_exec( ctx, 0, imap_open_store_compress_p2, "COMPRESS DEFLATE" );
+		return;
+	}
+#endif
+	imap_open_store_finalize( ctx );
+}
+
 #ifdef HAVE_LIBZ
 static void
 imap_open_store_compress_p2( imap_store_t *ctx, struct imap_cmd *cmd ATTR_UNUSED, int response )