use safer p_clear when possible.
[apps/madmutt.git] / init.c
diff --git a/init.c b/init.c
index f01fb9d..1ecdf17 100644 (file)
--- a/init.c
+++ b/init.c
@@ -827,7 +827,7 @@ static int parse_ifdef (BUFFER * tmp, BUFFER * s, unsigned long data,
   BUFFER token;
   struct option_t* option = NULL;
 
-  memset (&token, 0, sizeof(token));
+  p_clear(&token, 1);
   mutt_extract_token (tmp, s, 0);
 
   /* is the item defined as a variable or a function? */
@@ -974,7 +974,7 @@ static int parse_spam_list (BUFFER * buf, BUFFER * s, unsigned long data,
 {
   BUFFER templ;
 
-  memset (&templ, 0, sizeof(templ));
+  p_clear(&templ, 1);
 
   /* Insist on at least one parameter */
   if (!MoreArgs (s)) {
@@ -1537,7 +1537,7 @@ static int parse_my_hdr (BUFFER * buf, BUFFER * s, unsigned long data,
         /* replace the old value */
         p_delete(&tmp->data);
         tmp->data = buf->data;
-        memset (buf, 0, sizeof(BUFFER));
+        p_clear(buf, 1);
         return 0;
       }
       if (!tmp->next)
@@ -1551,7 +1551,7 @@ static int parse_my_hdr (BUFFER * buf, BUFFER * s, unsigned long data,
     UserHeader = tmp;
   }
   tmp->data = buf->data;
-  memset (buf, 0, sizeof(BUFFER));
+  p_clear(buf, 1);
   return 0;
 }
 
@@ -1639,8 +1639,8 @@ static int init_expand (char** dst, struct option_t* src) {
     /* only expand for string as it's the only place where
      * we want to expand vars right now */
     if (src->init && *src->init) {
-      memset (&token, 0, sizeof(BUFFER));
-      memset (&in, 0, sizeof(BUFFER));
+      p_clear(&token, 1);
+      p_clear(&in, 1);
       len = m_strlen(src->init) + 2;
       in.data = p_new(char, len + 1);
       snprintf (in.data, len, "\"%s\"", src->init);
@@ -2082,7 +2082,7 @@ static int source_rc (const char *rcfile, BUFFER * err)
     return (-1);
   }
 
-  memset (&token, 0, sizeof(token));
+  p_clear(&token, 1);
   while ((linebuf = mutt_read_line (linebuf, &buflen, f, &line)) != NULL) {
     conv = ConfigCharset && (*ConfigCharset) && Charset;
     if (conv) {
@@ -2167,7 +2167,7 @@ int mutt_parse_rc_line ( /* const */ char *line, BUFFER * token, BUFFER * err)
   int i, r = -1;
   BUFFER expn;
 
-  memset (&expn, 0, sizeof(expn));
+  p_clear(&expn, 1);
   expn.data = expn.dptr = line;
   expn.dsize = m_strlen(line);
 
@@ -2255,8 +2255,8 @@ int mutt_command_complete (char *buffer, size_t len, int pos, int numtabs)
     if (numtabs == 1) {
       Num_matched = 0;
       strfcpy (User_typed, pt, sizeof(User_typed));
-      memset (Matches, 0, sizeof(Matches));
-      memset (Completed, 0, sizeof(Completed));
+      p_clear(Matches, sizeof(Matches));
+      p_clear(Completed, sizeof(Completed));
       for (num = 0; Commands[num].name; num++)
         candidate (Completed, User_typed, Commands[num].name,
                    sizeof(Completed));
@@ -2304,11 +2304,11 @@ int mutt_command_complete (char *buffer, size_t len, int pos, int numtabs)
     if (numtabs == 1) {
       Num_matched = 0;
       strfcpy (User_typed, pt, sizeof(User_typed));
-      memset (Matches, 0, sizeof(Matches));
-      memset (Completed, 0, sizeof(Completed));
+      p_clear(Matches, sizeof(Matches));
+      p_clear(Completed, sizeof(Completed));
       for (num = 0; MuttVars[num].option; num++)
-        candidate (Completed, User_typed, MuttVars[num].option,
-                   sizeof(Completed));
+        candidate(Completed, User_typed, MuttVars[num].option,
+                  sizeof(Completed));
       Matches[Num_matched++] = User_typed;
 
       /* All matches are stored. Longest non-ambiguous string is ""
@@ -2342,8 +2342,8 @@ int mutt_command_complete (char *buffer, size_t len, int pos, int numtabs)
     if (numtabs == 1) {
       Num_matched = 0;
       strfcpy (User_typed, pt, sizeof(User_typed));
-      memset (Matches, 0, sizeof(Matches));
-      memset (Completed, 0, sizeof(Completed));
+      p_clear(Matches, sizeof(Matches));
+      p_clear(Completed, sizeof(Completed));
       for (num = 0; menu[num].name; num++)
         candidate (Completed, User_typed, menu[num].name, sizeof(Completed));
       /* try the generic menu */
@@ -2507,8 +2507,8 @@ int mutt_query_variables (LIST * queries)
 
   BUFFER err, token;
 
-  memset (&err, 0, sizeof(err));
-  memset (&token, 0, sizeof(token));
+  p_clear(&err, 1);
+  p_clear(&token, 1);
 
   err.data = errbuff;
   err.dsize = sizeof(errbuff);
@@ -2552,10 +2552,10 @@ static int mutt_execute_commands (LIST * p)
   BUFFER err, token;
   char errstr[SHORT_STRING];
 
-  memset (&err, 0, sizeof(err));
+  p_clear(&err, 1);
   err.data = errstr;
   err.dsize = sizeof(errstr);
-  memset (&token, 0, sizeof(token));
+  p_clear(&token, 1);
   for (; p; p = p->next) {
     if (mutt_parse_rc_line (p->data, &token, &err) != 0) {
       fprintf (stderr, _("Error in command line: %s\n"), err.data);
@@ -2576,7 +2576,7 @@ void mutt_init (int skip_sys_rc, LIST * commands)
   int i, default_rc = 0, need_pause = 0;
   BUFFER err;
 
-  memset (&err, 0, sizeof(err));
+  p_clear(&err, 1);
   err.data = error;
   err.dsize = sizeof(error);
 
@@ -2717,11 +2717,11 @@ void mutt_init (int skip_sys_rc, LIST * commands)
 
     snprintf (buffer, sizeof(buffer), "Reply-To: %s", p);
 
-    memset (&buf, 0, sizeof(buf));
+    p_clear(&buf, 1);
     buf.data = buf.dptr = buffer;
     buf.dsize = m_strlen(buffer);
 
-    memset (&token, 0, sizeof(token));
+    p_clear(&token, 1);
     parse_my_hdr (&token, &buf, 0, &err);
     p_delete(&token.data);
   }