]> granicus.if.org Git - neomutt/commitdiff
allocate Buffer in ac_free()
authorRichard Russon <rich@flatcap.org>
Fri, 12 Apr 2019 10:35:58 +0000 (11:35 +0100)
committerRichard Russon <rich@flatcap.org>
Tue, 16 Apr 2019 10:06:52 +0000 (11:06 +0100)
config/cfgaccount.c

index 034713d87fdc4b96cac9b7c2d6aee17b62c8331e..100dd5596b196c82320ebe7fd9862e48ebee3892 100644 (file)
@@ -100,22 +100,19 @@ void ac_free(const struct ConfigSet *cs, struct CfgAccount **ac)
     return; /* LCOV_EXCL_LINE */
 
   char child[128];
-  struct Buffer err;
-  mutt_buffer_init(&err);
-  err.dsize = 256;
-  err.data = mutt_mem_calloc(1, err.dsize);
+  struct Buffer *err = mutt_buffer_pool_get();
 
   for (size_t i = 0; i < (*ac)->num_vars; i++)
   {
     snprintf(child, sizeof(child), "%s:%s", (*ac)->name, (*ac)->var_names[i]);
-    mutt_buffer_reset(&err);
-    int result = cs_str_reset(cs, child, &err);
+    mutt_buffer_reset(err);
+    int result = cs_str_reset(cs, child, err);
     if (CSR_RESULT(result) != CSR_SUCCESS)
-      mutt_debug(LL_DEBUG1, "reset failed for %s: %s\n", child, err.data);
+      mutt_debug(LL_DEBUG1, "reset failed for %s: %s\n", child, mutt_b2s(err));
     mutt_hash_delete(cs->hash, child, NULL);
   }
 
-  FREE(&err.data);
+  mutt_buffer_pool_release(&err);
   FREE(&(*ac)->name);
   FREE(&(*ac)->vars);
   FREE(ac);