At 13:25 -0500 22 Aug 2013, Derek Martin <[email protected]> wrote:
In any event, having found the mutt_buffer_* functions (in protos.h
and muttlib.c), I think the initializations should use those functions
instead of calling memset().

Indeed, I'd already completed the following patch before seeing this message. It replaces use of memset with mutt_buffer_init. Even if there's a later move to do more in another initialization function, being able to search for uses of mutt_buffer_init rather than needing to search for memset will make that easier.

----------- 8< ----------------

Subject: [PATCH] Consistently use mutt_buffer_init function

Despite the existence of the mutt_buffer_init function, most
initializations were instead done with memset.  Use the specific
function instead to make it easier if later changes are made to how the
initialization should be done.
---
commands.c     |    2 +-
hook.c         |   10 +++++-----
imap/command.c |    2 +-
imap/imap.c    |    4 ++--
imap/message.c |    4 ++--
init.c         |   38 +++++++++++++++++++-------------------
keymap.c       |    2 +-
pattern.c      |   10 +++++-----
score.c        |    2 +-
9 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/commands.c b/commands.c
index 357b354..8d5b1c6 100644
--- a/commands.c
+++ b/commands.c
@@ -621,7 +621,7 @@ void mutt_enter_command (void)
  mutt_buffer_init (&err);
  err.dsize = STRING;
  err.data = safe_malloc(err.dsize);
-  memset (&token, 0, sizeof (token));
+  mutt_buffer_init (&token);
  r = mutt_parse_rc_line (buffer, &token, &err);
  FREE (&token.data);
  if (err.data[0])
diff --git a/hook.c b/hook.c
index f9f8588..34f3106 100644
--- a/hook.c
+++ b/hook.c
@@ -52,8 +52,8 @@ int mutt_parse_hook (BUFFER *buf, BUFFER *s, unsigned long 
data, BUFFER *err)
  pattern_t *pat = NULL;
  char path[_POSIX_PATH_MAX];

-  memset (&pattern, 0, sizeof (pattern));
-  memset (&command, 0, sizeof (command));
+  mutt_buffer_init (&pattern);
+  mutt_buffer_init (&command);

  if (*s->dptr == '!')
  {
@@ -285,7 +285,7 @@ void mutt_folder_hook (char *path)
  mutt_buffer_init (&err);
  err.dsize = STRING;
  err.data = safe_malloc (err.dsize);
-  memset (&token, 0, sizeof (token));
+  mutt_buffer_init (&token);
  for (; tmp; tmp = tmp->next)
  {
    if(!tmp->command)
@@ -337,7 +337,7 @@ void mutt_message_hook (CONTEXT *ctx, HEADER *hdr, int type)
  mutt_buffer_init (&err);
  err.dsize = STRING;
  err.data = safe_malloc (err.dsize);
-  memset (&token, 0, sizeof (token));
+  mutt_buffer_init (&token);
  for (hook = Hooks; hook; hook = hook->next)
  {
    if(!hook->command)
@@ -481,7 +481,7 @@ void mutt_account_hook (const char* url)
  mutt_buffer_init (&err);
  err.dsize = STRING;
  err.data = safe_malloc (err.dsize);
-  memset (&token, 0, sizeof (token));
+  mutt_buffer_init (&token);

  for (hook = Hooks; hook; hook = hook->next)
  {
diff --git a/imap/command.c b/imap/command.c
index 6dfeb62..32f8417 100644
--- a/imap/command.c
+++ b/imap/command.c
@@ -777,7 +777,7 @@ static void cmd_parse_lsub (IMAP_DATA* idata, char* s)
    url.user = NULL;
  url_ciss_tostring (&url, buf + 11, sizeof (buf) - 10, 0);
  safe_strcat (buf, sizeof (buf), "\"");
-  memset (&token, 0, sizeof (token));
+  mutt_buffer_init (&token);
  mutt_buffer_init (&err);
  err.data = errstr;
  err.dsize = sizeof (errstr);
diff --git a/imap/imap.c b/imap/imap.c
index b263abf..93dc06a 100644
--- a/imap/imap.c
+++ b/imap/imap.c
@@ -1787,7 +1787,7 @@ int imap_search (CONTEXT* ctx, const pattern_t* pat)
  if (!do_search (pat, 1))
    return 0;

-  memset (&buf, 0, sizeof (buf));
+  mutt_buffer_init (&buf);
  mutt_buffer_addstr (&buf, "UID SEARCH ");
  if (imap_compile_search (pat, &buf) < 0)
  {
@@ -1827,7 +1827,7 @@ int imap_subscribe (char *path, int subscribe)

  if (option (OPTIMAPCHECKSUBSCRIBED))
  {
-    memset (&token, 0, sizeof (token));
+    mutt_buffer_init (&token);
    mutt_buffer_init (&err);
    err.data = errstr;
    err.dsize = sizeof (errstr);
diff --git a/imap/message.c b/imap/message.c
index 742ac8c..38da127 100644
--- a/imap/message.c
+++ b/imap/message.c
@@ -770,8 +770,8 @@ int imap_copy_messages (CONTEXT* ctx, HEADER* h, char* 
dest, int delete)
  /* loop in case of TRYCREATE */
  do
  {
-    memset (&sync_cmd, 0, sizeof (sync_cmd));
-    memset (&cmd, 0, sizeof (cmd));
+    mutt_buffer_init (&sync_cmd);
+    mutt_buffer_init (&cmd);

    /* Null HEADER* means copy tagged messages */
    if (!h)
diff --git a/init.c b/init.c
index d69fff2..b1bb8bf 100644
--- a/init.c
+++ b/init.c
@@ -255,7 +255,7 @@ int mutt_extract_token (BUFFER *dest, BUFFER *tok, int 
flags)
      tok->dptr = pc + 1;

      /* read line */
-      memset (&expn, 0, sizeof (expn));
+      mutt_buffer_init (&expn);
      expn.data = mutt_read_line (NULL, &expn.dsize, fp, &line, 0);
      safe_fclose (&fp);
      mutt_wait_filter (pid);
@@ -707,7 +707,7 @@ static int parse_spam_list (BUFFER *buf, BUFFER *s, 
unsigned long data, BUFFER *
{
  BUFFER templ;

-  memset(&templ, 0, sizeof(templ));
+  mutt_buffer_init (&templ);

  /* Insist on at least one parameter */
  if (!MoreArgs(s))
@@ -1445,7 +1445,7 @@ static int parse_my_hdr (BUFFER *buf, BUFFER *s, unsigned 
long data, BUFFER *err
        /* replace the old value */
        FREE (&tmp->data);
        tmp->data = buf->data;
-       memset (buf, 0, sizeof (BUFFER));
+       mutt_buffer_init (buf);
        return 0;
      }
      if (!tmp->next)
@@ -1460,7 +1460,7 @@ static int parse_my_hdr (BUFFER *buf, BUFFER *s, unsigned 
long data, BUFFER *err
    UserHeader = tmp;
  }
  tmp->data = buf->data;
-  memset (buf, 0, sizeof (BUFFER));
+  mutt_buffer_init (buf);
  return 0;
}

@@ -2255,7 +2255,7 @@ static int source_rc (const char *rcfile, BUFFER *err)
    return (-1);
  }

-  memset (&token, 0, sizeof (token));
+  mutt_buffer_init (&token);
  while ((linebuf = mutt_read_line (linebuf, &buflen, f, &line, M_CONT)) != 
NULL)
  {
    conv=ConfigCharset && (*ConfigCharset) && Charset;
@@ -2339,7 +2339,7 @@ int mutt_parse_rc_line (/* const */ char *line, BUFFER 
*token, BUFFER *err)
  if (!line || !*line)
    return 0;

-  memset (&expn, 0, sizeof (expn));
+  mutt_buffer_init (&expn);
  expn.data = expn.dptr = line;
  expn.dsize = mutt_strlen (line);

@@ -2735,10 +2735,10 @@ int mutt_query_variables (LIST *queries)
  char command[STRING];
BUFFER err, token; - - memset (&err, 0, sizeof (err));
-  memset (&token, 0, sizeof (token));
- +
+  mutt_buffer_init (&err);
+  mutt_buffer_init (&token);
+
  err.dsize = STRING;
  err.data = safe_malloc (err.dsize);
@@ -2770,10 +2770,10 @@ int mutt_dump_variables (void)
  char command[STRING];
BUFFER err, token; - - memset (&err, 0, sizeof (err));
-  memset (&token, 0, sizeof (token));
- +
+  mutt_buffer_init (&err);
+  mutt_buffer_init (&token);
+
  err.dsize = STRING;
  err.data = safe_malloc (err.dsize);
@@ -2849,10 +2849,10 @@ static int mutt_execute_commands (LIST *p)
{
  BUFFER err, token;

-  memset (&err, 0, sizeof (err));
+  mutt_buffer_init (&err);
  err.dsize = STRING;
  err.data = safe_malloc (err.dsize);
-  memset (&token, 0, sizeof (token));
+  mutt_buffer_init (&token);
  for (; p; p = p->next)
  {
    if (mutt_parse_rc_line (p->data, &token, &err) != 0)
@@ -2895,7 +2895,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));
+  mutt_buffer_init (&err);
  err.dsize = STRING;
  err.data = safe_malloc(err.dsize);
  err.dptr = err.data;
@@ -3021,11 +3021,11 @@ void mutt_init (int skip_sys_rc, LIST *commands)

    snprintf (buffer, sizeof (buffer), "Reply-To: %s", p);

-    memset (&buf, 0, sizeof (buf));
+    mutt_buffer_init (&buf);
    buf.data = buf.dptr = buffer;
    buf.dsize = mutt_strlen (buffer);

-    memset (&token, 0, sizeof (token));
+    mutt_buffer_init (&token);
    parse_my_hdr (&token, &buf, 0, &err);
    FREE (&token.data);
  }
diff --git a/keymap.c b/keymap.c
index 56ec05d..c77a246 100644
--- a/keymap.c
+++ b/keymap.c
@@ -866,7 +866,7 @@ static char *parse_keymap (int *menu, BUFFER *s, int 
maxmenus, int *nummenus, BU
  int i=0;
  char *p, *q;

-  memset (&buf, 0, sizeof (buf));
+  mutt_buffer_init (&buf);

  /* menu name */
  mutt_extract_token (&buf, s, 0);
diff --git a/pattern.c b/pattern.c
index 55841b3..87099d1 100644
--- a/pattern.c
+++ b/pattern.c
@@ -257,7 +257,7 @@ static int eat_regexp (pattern_t *pat, BUFFER *s, BUFFER 
*err)
  char errmsg[STRING];
  int r;

-  memset (&buf, 0, sizeof (buf));
+  mutt_buffer_init (&buf);
  if (mutt_extract_token (&buf, s, M_TOKEN_PATTERN | M_TOKEN_COMMENT) != 0 ||
      !buf.data)
  {
@@ -575,7 +575,7 @@ static int eat_date (pattern_t *pat, BUFFER *s, BUFFER *err)
  BUFFER buffer;
  struct tm min, max;

-  memset (&buffer, 0, sizeof (buffer));
+  mutt_buffer_init (&buffer);
  if (mutt_extract_token (&buffer, s, M_TOKEN_COMMENT | M_TOKEN_PATTERN) != 0
      || !buffer.data)
  {
@@ -779,7 +779,7 @@ pattern_t *mutt_pattern_comp (/* const */ char *s, int 
flags, BUFFER *err)
  char *buf;
  BUFFER ps;

-  memset (&ps, 0, sizeof (ps));
+  mutt_buffer_init (&ps);
  ps.dptr = s;
  ps.dsize = mutt_strlen (s);

@@ -1302,7 +1302,7 @@ int mutt_pattern_func (int op, char *prompt)
  simple = safe_strdup (buf);
  mutt_check_simple (buf, sizeof (buf), NONULL (SimpleSearch));

-  memset (&err, 0, sizeof(err));
+  mutt_buffer_init (&err);
  err.dsize = STRING;
  err.data = safe_malloc(err.dsize);
  if ((pat = mutt_pattern_comp (buf, M_FULL_MSG, &err)) == NULL)
@@ -1434,7 +1434,7 @@ int mutt_search_command (int cur, int op)
    if (!SearchPattern || mutt_strcmp (temp, LastSearchExpn))
    {
      BUFFER err;
-      memset(&err, 0, sizeof(err));
+      mutt_buffer_init (&err);
      set_option (OPTSEARCHINVALID);
      strfcpy (LastSearch, buf, sizeof (LastSearch));
      mutt_message _("Compiling search pattern...");
diff --git a/score.c b/score.c
index b8a1f6c..6f952a5 100644
--- a/score.c
+++ b/score.c
@@ -76,7 +76,7 @@ int mutt_parse_score (BUFFER *buf, BUFFER *s, unsigned long 
data, BUFFER *err)
    return (-1);
  }
  pattern = buf->data;
-  memset (buf, 0, sizeof (BUFFER));
+  mutt_buffer_init (buf);
  mutt_extract_token (buf, s, 0);
  if (MoreArgs (s))
  {
--
1.7.10.4

Attachment: pgpw11dbIuZia.pgp
Description: PGP signature

Reply via email to