]> granicus.if.org Git - neomutt/commitdiff
allocate Buffer in mutt_dump_variables() 1649/head
authorRichard Russon <rich@flatcap.org>
Fri, 12 Apr 2019 10:37:43 +0000 (11:37 +0100)
committerRichard Russon <rich@flatcap.org>
Tue, 16 Apr 2019 10:44:15 +0000 (11:44 +0100)
init.c

diff --git a/init.c b/init.c
index 21bb5e93800027250d72cedb6bf60bf692183dfc..37cfe1512ea9f906419cd0e0791bfd2368c50249 100644 (file)
--- a/init.c
+++ b/init.c
@@ -2609,14 +2609,8 @@ void mutt_commands_apply(void *data, void (*application)(void *, const struct Co
 int mutt_dump_variables(bool hide_sensitive)
 {
   char cmd[256];
-
-  struct Buffer err, token;
-
-  mutt_buffer_init(&err);
-  mutt_buffer_init(&token);
-
-  err.dsize = 256;
-  err.data = mutt_mem_malloc(err.dsize);
+  struct Buffer *err = mutt_buffer_pool_get();
+  struct Buffer *token = mutt_buffer_pool_get();
 
   for (int i = 0; MuttVars[i].name; i++)
   {
@@ -2629,19 +2623,19 @@ int mutt_dump_variables(bool hide_sensitive)
       continue;
     }
     snprintf(cmd, sizeof(cmd), "set ?%s\n", MuttVars[i].name);
-    if (mutt_parse_rc_line(cmd, &token, &err) == MUTT_CMD_ERROR)
+    if (mutt_parse_rc_line(cmd, token, err) == MUTT_CMD_ERROR)
     {
-      mutt_message("%s", err.data);
-      FREE(&token.data);
-      FREE(&err.data);
+      mutt_message("%s", mutt_b2s(err));
+      mutt_buffer_pool_release(&token);
+      mutt_buffer_pool_release(&err);
 
       return 1; // TEST17: can't test
     }
-    mutt_message("%s", err.data);
+    mutt_message("%s", mutt_b2s(err));
   }
 
-  FREE(&token.data);
-  FREE(&err.data);
+  mutt_buffer_pool_release(&token);
+  mutt_buffer_pool_release(&err);
 
   return 0;
 }