]> granicus.if.org Git - neomutt/commitdiff
reduce scope of variables 1683/head
authorRichard Russon <rich@flatcap.org>
Sat, 27 Apr 2019 01:38:41 +0000 (02:38 +0100)
committerRichard Russon <rich@flatcap.org>
Mon, 29 Apr 2019 22:48:37 +0000 (23:48 +0100)
- Move variable declarations closer to their first use
- Move parameter checks as early as possible in functions

52 files changed:
address/group.c
alias.c
compress.c
config/dump.c
conn/sasl.c
conn/ssl.c
conn/ssl_gnutls.c
curs_lib.c
email/parse.c
email/rfc2231.c
email/url.c
flags.c
handler.c
hcache/bdb.c
hcache/gdbm.c
hcache/lmdb.c
hcache/tc.c
help.c
imap/imap.c
imap/message.c
imap/util.c
index.c
init.c
keymap.c
maildir/shared.c
monitor.c
mutt/buffer.c
mutt/charset.c
mutt/date.c
mutt/envlist.c
mutt/file.c
mutt/hash.c
mutt/history.c
mutt/path.c
mutt_parse.c
mutt_thread.c
mutt_window.c
ncrypt/crypt.c
ncrypt/crypt_gpgme.c
ncrypt/pgpmicalg.c
ncrypt/smime.c
nntp/newsrc.c
nntp/nntp.c
notmuch/mutt_notmuch.c
pattern.c
pop/pop_auth.c
progress.c
recvcmd.c
remailer.c
rfc1524.c
sendlib.c
smtp.c

index 88c9501dcf02346532b4f7f0a43eb5bc2032ac6c..b798f236caf9173f42821ce88c9c34a924a5932b 100644 (file)
@@ -63,12 +63,10 @@ void mutt_grouplist_free(void)
  */
 struct Group *mutt_pattern_group(const char *pat)
 {
-  struct Group *g = NULL;
-
   if (!pat)
     return 0;
 
-  g = mutt_hash_find(Groups, pat);
+  struct Group *g = mutt_hash_find(Groups, pat);
   if (!g)
   {
     mutt_debug(LL_DEBUG2, "Creating group %s\n", pat);
@@ -197,14 +195,10 @@ static void group_add_addrlist(struct Group *g, struct Address *a)
  */
 static int group_remove_addrlist(struct Group *g, struct Address *a)
 {
-  struct Address *p = NULL;
-
-  if (!g)
-    return -1;
-  if (!a)
+  if (!g || !a)
     return -1;
 
-  for (p = a; p; p = p->next)
+  for (struct Address *p = a; p; p = p->next)
     mutt_addr_remove_from_list(&g->as, p->mailbox);
 
   return 0;
diff --git a/alias.c b/alias.c
index 20741e3da5f9cafb4a96fd9f6a631bcade1d1512..704677e5c29f9ac5e96985555f07315af23ae571 100644 (file)
--- a/alias.c
+++ b/alias.c
@@ -549,7 +549,6 @@ struct Address *mutt_alias_reverse_lookup(struct Address *a)
  */
 void mutt_alias_add_reverse(struct Alias *t)
 {
-  struct Address *ap = NULL;
   if (!t)
     return;
 
@@ -558,7 +557,7 @@ void mutt_alias_add_reverse(struct Alias *t)
    * by all callers, but added here mostly as documentation. */
   mutt_addrlist_to_intl(t->addr, NULL);
 
-  for (ap = t->addr; ap; ap = ap->next)
+  for (struct Address *ap = t->addr; ap; ap = ap->next)
   {
     if (!ap->group && ap->mailbox)
       mutt_hash_insert(ReverseAliases, ap->mailbox, ap);
@@ -571,7 +570,6 @@ void mutt_alias_add_reverse(struct Alias *t)
  */
 void mutt_alias_delete_reverse(struct Alias *t)
 {
-  struct Address *ap = NULL;
   if (!t)
     return;
 
@@ -579,7 +577,7 @@ void mutt_alias_delete_reverse(struct Alias *t)
    * match the hash entries. */
   mutt_addrlist_to_intl(t->addr, NULL);
 
-  for (ap = t->addr; ap; ap = ap->next)
+  for (struct Address *ap = t->addr; ap; ap = ap->next)
   {
     if (!ap->group && ap->mailbox)
       mutt_hash_delete(ReverseAliases, ap->mailbox, ap);
@@ -678,8 +676,6 @@ int mutt_alias_complete(char *buf, size_t buflen)
  */
 bool mutt_addr_is_user(struct Address *addr)
 {
-  const char *fqdn = NULL;
-
   /* NULL address is assumed to be the user. */
   if (!addr)
   {
@@ -702,7 +698,7 @@ bool mutt_addr_is_user(struct Address *addr)
     mutt_debug(5, "#2 yes, %s = %s @ %s\n", addr->mailbox, Username, ShortHostname);
     return true;
   }
-  fqdn = mutt_fqdn(false);
+  const char *fqdn = mutt_fqdn(false);
   if (string_is_address(addr->mailbox, Username, fqdn))
   {
     mutt_debug(5, "#3 yes, %s = %s @ %s\n", addr->mailbox, Username, NONULL(fqdn));
index 1b9ab9ddf060672a26992593c1701093f4ebe2d6..65c31db4975edb2660ec2f7fd65d0217aab7f96d 100644 (file)
@@ -324,16 +324,14 @@ static void expand_command_str(const struct Mailbox *m, const char *cmd, char *b
  */
 static int execute_command(struct Mailbox *m, const char *command, const char *progress)
 {
-  int rc = 1;
-  char sys_cmd[STR_COMMAND];
-
   if (!m || !command || !progress)
     return 0;
 
   if (!m->quiet)
-  {
     mutt_message(progress, m->realpath);
-  }
+
+  int rc = 1;
+  char sys_cmd[STR_COMMAND];
 
   mutt_sig_block();
   endwin();
index e3572eb1af87f1953e8346a5019d0c07577cfd05..f973ee3916c7847008276aad68eb1839a47ed0e4 100644 (file)
@@ -124,10 +124,9 @@ struct HashElem **get_elem_list(struct ConfigSet *cs)
   struct HashElem **list = mutt_mem_calloc(1024, sizeof(struct HashElem *));
   size_t index = 0;
 
-  struct HashWalkState walk;
-  memset(&walk, 0, sizeof(walk));
-
+  struct HashWalkState walk = { 0 };
   struct HashElem *he = NULL;
+
   while ((he = mutt_hash_walk(cs->hash, &walk)))
   {
     list[index++] = he;
index aab934c8040e5f5be44eb21a05dfb3712e23ce29..3d1363be9732bdce31f715aee68add36677291dc 100644 (file)
@@ -244,11 +244,11 @@ static int mutt_sasl_start(void)
  */
 static int mutt_sasl_cb_authname(void *context, int id, const char **result, unsigned int *len)
 {
-  struct ConnAccount *account = context;
-
   if (!result)
     return SASL_FAIL;
 
+  struct ConnAccount *account = context;
+
   *result = NULL;
   if (len)
     *len = 0;
index 5504d0f516eb2b07330442851415eaa988dc73b3..a77cabbabbf72c5acfadf8381d1d4706085eb956 100644 (file)
@@ -135,29 +135,27 @@ struct SslSockData
  */
 static int ssl_load_certificates(SSL_CTX *ctx)
 {
-  FILE *fp = NULL;
-  X509 *cert = NULL;
-  X509_STORE *store = NULL;
   int rc = 1;
-  char buf[256];
 
   mutt_debug(LL_DEBUG2, "loading trusted certificates\n");
-  store = SSL_CTX_get_cert_store(ctx);
+  X509_STORE *store = SSL_CTX_get_cert_store(ctx);
   if (!store)
   {
     store = X509_STORE_new();
     SSL_CTX_set_cert_store(ctx, store);
   }
 
-  fp = fopen(C_CertificateFile, "rt");
+  FILE *fp = fopen(C_CertificateFile, "rt");
   if (!fp)
     return 0;
 
+  X509 *cert = NULL;
   while (NULL != PEM_read_X509(fp, &cert, NULL, NULL))
   {
     if ((X509_cmp_current_time(X509_get0_notBefore(cert)) >= 0) ||
         (X509_cmp_current_time(X509_get0_notAfter(cert)) <= 0))
     {
+      char buf[256];
       mutt_debug(LL_DEBUG2, "filtering expired cert: %s\n",
                  X509_NAME_oneline(X509_get_subject_name(cert), buf, sizeof(buf)));
     }
@@ -220,12 +218,12 @@ static int ssl_set_verify_partial(SSL_CTX *ctx)
  */
 static int add_entropy(const char *file)
 {
-  struct stat st;
-  int n = -1;
-
   if (!file)
     return 0;
 
+  struct stat st;
+  int n = -1;
+
   if (stat(file, &st) == -1)
     return (errno == ENOENT) ? 0 : -1;
 
@@ -328,19 +326,16 @@ static void ssl_err(struct SslSockData *data, int err)
  */
 static void ssl_dprint_err_stack(void)
 {
-  BIO *bio = NULL;
-  char *buf = NULL;
-  long buflen;
-  char *output = NULL;
-
-  bio = BIO_new(BIO_s_mem());
+  BIO *bio = BIO_new(BIO_s_mem());
   if (!bio)
     return;
   ERR_print_errors(bio);
-  buflen = BIO_get_mem_data(bio, &buf);
+
+  char *buf = NULL;
+  long buflen = BIO_get_mem_data(bio, &buf);
   if (buflen > 0)
   {
-    output = mutt_mem_malloc(buflen + 1);
+    char *output = mutt_mem_malloc(buflen + 1);
     memcpy(output, buf, buflen);
     output[buflen] = '\0';
     mutt_debug(LL_DEBUG1, "SSL error stack: %s\n", output);
@@ -1051,21 +1046,15 @@ static bool interactive_check_cert(X509 *cert, int idx, size_t len, SSL *ssl, bo
 static int ssl_verify_callback(int preverify_ok, X509_STORE_CTX *ctx)
 {
   char buf[256];
-  const char *host = NULL;
-  size_t len;
-  int pos;
-  X509 *cert = NULL;
-  SSL *ssl = NULL;
-  bool skip_mode;
 
-  ssl = X509_STORE_CTX_get_ex_data(ctx, SSL_get_ex_data_X509_STORE_CTX_idx());
+  SSL *ssl = X509_STORE_CTX_get_ex_data(ctx, SSL_get_ex_data_X509_STORE_CTX_idx());
   if (!ssl)
   {
     mutt_debug(LL_DEBUG1,
                "failed to retrieve SSL structure from X509_STORE_CTX\n");
     return false;
   }
-  host = SSL_get_ex_data(ssl, HostExDataIndex);
+  const char *host = SSL_get_ex_data(ssl, HostExDataIndex);
   if (!host)
   {
     mutt_debug(LL_DEBUG1, "failed to retrieve hostname from SSL structure\n");
@@ -1077,11 +1066,11 @@ static int ssl_verify_callback(int preverify_ok, X509_STORE_CTX *ctx)
    * $ssl_verify_partial_chains option.
    * In this case, all following certificates need to be treated as non-verified
    * until one is actually verified.  */
-  skip_mode = (SSL_get_ex_data(ssl, SkipModeExDataIndex));
+  bool skip_mode = (SSL_get_ex_data(ssl, SkipModeExDataIndex));
 
-  cert = X509_STORE_CTX_get_current_cert(ctx);
-  pos = X509_STORE_CTX_get_error_depth(ctx);
-  len = sk_X509_num(X509_STORE_CTX_get0_chain(ctx));
+  X509 *cert = X509_STORE_CTX_get_current_cert(ctx);
+  int pos = X509_STORE_CTX_get_error_depth(ctx);
+  size_t len = sk_X509_num(X509_STORE_CTX_get0_chain(ctx));
 
   mutt_debug(LL_DEBUG1, "checking cert chain entry %s (preverify: %d skipmode: %d)\n",
              X509_NAME_oneline(X509_get_subject_name(cert), buf, sizeof(buf)),
index d936e2f759bd9f470ac3c891c82c72622b04fb80..087048627c3b0434153c24e89bc3045ef388287a 100644 (file)
@@ -125,11 +125,9 @@ static int tls_starttls_close(struct Connection *conn)
  */
 static gnutls_certificate_status_t tls_verify_peers(gnutls_session_t tlsstate)
 {
-  int verify_ret;
-  unsigned int status;
-
-  verify_ret = gnutls_certificate_verify_peers2(tlsstate, &status);
-  if (!verify_ret)
+  unsigned int status = 0;
+  int verify_ret = gnutls_certificate_verify_peers2(tlsstate, &status);
+  if (verify_ret == 0)
     return status;
 
   if (status == GNUTLS_E_NO_CERTIFICATE_FOUND)
@@ -750,7 +748,7 @@ static int tls_check_certificate(struct Connection *conn)
   const gnutls_datum_t *cert_list = NULL;
   unsigned int cert_list_size = 0;
   gnutls_certificate_status_t certstat;
-  int certerr, preauthrc, savedcert, rc = 0;
+  int certerr, savedcert, rc = 0;
   int rcpeer = -1; /* the result of tls_check_preauth() on the peer's EE cert */
 
   if (gnutls_auth_get_type(state) != GNUTLS_CRD_CERTIFICATE)
@@ -771,7 +769,7 @@ static int tls_check_certificate(struct Connection *conn)
   /* tls_verify_peers doesn't check hostname or expiration, so walk
    * from most specific to least checking these. If we see a saved certificate,
    * its status short-circuits the remaining checks. */
-  preauthrc = 0;
+  int preauthrc = 0;
   for (int i = 0; i < cert_list_size; i++)
   {
     rc = tls_check_preauth(&cert_list[i], certstat, conn->account.host, i,
@@ -1133,14 +1131,13 @@ static int tls_socket_open(struct Connection *conn)
 static int tls_socket_read(struct Connection *conn, char *buf, size_t count)
 {
   struct TlsSockData *data = conn->sockdata;
-  int rc;
-
   if (!data)
   {
     mutt_error(_("Error: no TLS socket open"));
     return -1;
   }
 
+  int rc;
   do
   {
     rc = gnutls_record_recv(data->state, buf, count);
index e043e8606604032eda1fac596ba1a5425f61012b..acfb26ad729ae4f4f924aca5682055f69ad69e43 100644 (file)
@@ -1205,15 +1205,15 @@ out:
  */
 int mutt_strwidth(const char *s)
 {
+  if (!s)
+    return 0;
+
   wchar_t wc;
   int w;
-  size_t k, n;
+  size_t k;
   mbstate_t mbstate;
 
-  if (!s)
-    return 0;
-
-  n = mutt_str_strlen(s);
+  size_t n = mutt_str_strlen(s);
 
   memset(&mbstate, 0, sizeof(mbstate));
   for (w = 0; n && (k = mbrtowc(&wc, s, n, &mbstate)); s += k, n -= k)
index 3794ae5a4e3d796844fd1c6a8692bad60bdbe93f..4ac068e19f47016400c858bdb4edcdbe1bd3ce6b 100644 (file)
@@ -54,8 +54,6 @@
  */
 void mutt_auto_subscribe(const char *mailto)
 {
-  struct Envelope *lpenv;
-
   if (!AutoSubscribeCache)
     AutoSubscribeCache = mutt_hash_new(200, MUTT_HASH_STRCASECMP | MUTT_HASH_STRDUP_KEYS);
 
@@ -64,22 +62,19 @@ void mutt_auto_subscribe(const char *mailto)
 
   mutt_hash_insert(AutoSubscribeCache, mailto, AutoSubscribeCache);
 
-  lpenv = mutt_env_new(); /* parsed envelope from the List-Post mailto: URL */
+  struct Envelope *lpenv = mutt_env_new(); /* parsed envelope from the List-Post mailto: URL */
 
   if ((mutt_parse_mailto(lpenv, NULL, mailto) != -1) && lpenv->to && lpenv->to->mailbox &&
       !mutt_regexlist_match(&UnSubscribedLists, lpenv->to->mailbox) &&
       !mutt_regexlist_match(&UnMailLists, lpenv->to->mailbox) &&
       !mutt_regexlist_match(&UnSubscribedLists, lpenv->to->mailbox))
   {
-    struct Buffer err;
-    char errbuf[256];
-    memset(&err, 0, sizeof(err));
-    err.data = errbuf;
-    err.dsize = sizeof(errbuf);
+    struct Buffer *err = mutt_buffer_pool_get();
     /* mutt_regexlist_add() detects duplicates, so it is safe to
      * try to add here without any checks. */
-    mutt_regexlist_add(&MailLists, lpenv->to->mailbox, REG_ICASE, &err);
-    mutt_regexlist_add(&SubscribedLists, lpenv->to->mailbox, REG_ICASE, &err);
+    mutt_regexlist_add(&MailLists, lpenv->to->mailbox, REG_ICASE, err);
+    mutt_regexlist_add(&SubscribedLists, lpenv->to->mailbox, REG_ICASE, err);
+    mutt_buffer_pool_release(&err);
   }
 
   mutt_env_free(&lpenv);
index 122608a9657fc42f45c4b520e1e4b82d7d6b63c3..c4f25b376f33e719c5ad52cd96a5adbd1d4e9e20 100644 (file)
@@ -235,6 +235,9 @@ static void join_continuations(struct ParameterList *p, struct Rfc2231Parameter
  */
 void rfc2231_decode_parameters(struct ParameterList *p)
 {
+  if (!p)
+    return;
+
   struct Rfc2231Parameter *conthead = NULL;
   struct Rfc2231Parameter *conttmp = NULL;
 
@@ -244,8 +247,6 @@ void rfc2231_decode_parameters(struct ParameterList *p)
   bool encoded;
   int index;
   bool dirty = false; /* set when we may have created empty parameters. */
-  if (!p)
-    return;
 
   purge_empty_parameters(p);
 
index dc543ac83d1eec5cbe3259ddb644034c2727dd14..4f29b54e22926426d6d7b5af38bc04ca6609efe5 100644 (file)
@@ -100,11 +100,11 @@ static int parse_query_string(struct UrlQueryStringHead *l, char *src)
  */
 int url_pct_decode(char *s)
 {
-  char *d = NULL;
-
   if (!s)
     return -1;
 
+  char *d = NULL;
+
   for (d = s; *s; s++)
   {
     if (*s == '%')
diff --git a/flags.c b/flags.c
index 56438603c34635e66a2cc7ac0726ff81a05c8aae..6a3d3a257d515314cd535b0d67321538c57710da 100644 (file)
--- a/flags.c
+++ b/flags.c
@@ -435,7 +435,7 @@ int mutt_change_flag(struct Mailbox *m, struct EmailList *el, int bf)
   if (!m || !el || STAILQ_EMPTY(el))
     return -1;
 
-  int i, flag;
+  int flag;
   struct Event event;
 
   mutt_window_mvprintw(MuttMessageWindow, 0, 0,
@@ -447,7 +447,7 @@ int mutt_change_flag(struct Mailbox *m, struct EmailList *el, int bf)
   {
     event = mutt_getch();
   } while (event.ch == -2);
-  i = event.ch;
+  int i = event.ch;
   if (i < 0)
   {
     mutt_window_clearline(MuttMessageWindow, 0);
index 9f70b0fe611542467964b3da3363d2bc4099ff12..29002c41fbe49e29c5687a2d8d589b311e11baa5 100644 (file)
--- a/handler.c
+++ b/handler.c
@@ -129,7 +129,8 @@ static void convert_to_state(iconv_t cd, char *bufi, size_t *l, struct State *s)
   {
     if (cd != (iconv_t)(-1))
     {
-      ob = bufo, obl = sizeof(bufo);
+      ob = bufo;
+      obl = sizeof(bufo);
       iconv(cd, NULL, NULL, &ob, &obl);
       if (ob != bufo)
         state_prefix_put(bufo, ob - bufo, s);
@@ -148,7 +149,8 @@ static void convert_to_state(iconv_t cd, char *bufi, size_t *l, struct State *s)
   ibl = *l;
   while (true)
   {
-    ob = bufo, obl = sizeof(bufo);
+    ob = bufo;
+    obl = sizeof(bufo);
     mutt_ch_iconv(cd, &ib, &ibl, &ob, &obl, 0, "?", NULL);
     if (ob == bufo)
       break;
@@ -430,13 +432,13 @@ static void decode_uuencoded(struct State *s, long len, bool istext, iconv_t cd)
  */
 static bool is_mmnoask(const char *buf)
 {
-  char *p = NULL;
-  char tmp[1024], *q = NULL;
-
   const char *val = mutt_str_getenv("MM_NOASK");
   if (!val)
     return false;
 
+  char *p = NULL;
+  char tmp[1024], *q = NULL;
+
   if (mutt_str_strcmp(val, "1") == 0)
     return true;
 
index 77a9cef3585d26a11c91705df4b4f4e93d5e117c..d0516345869642e63a7f301db607ddf8b30c5fac 100644 (file)
@@ -155,12 +155,12 @@ fail_close:
  */
 static void *hcache_bdb_fetch(void *vctx, const char *key, size_t keylen)
 {
-  DBT dkey;
-  DBT data;
-
   if (!vctx)
     return NULL;
 
+  DBT dkey;
+  DBT data;
+
   struct HcacheDbCtx *ctx = vctx;
 
   dbt_init(&dkey, (void *) key, keylen);
@@ -185,12 +185,12 @@ static void hcache_bdb_free(void *vctx, void **data)
  */
 static int hcache_bdb_store(void *vctx, const char *key, size_t keylen, void *data, size_t dlen)
 {
-  DBT dkey;
-  DBT databuf;
-
   if (!vctx)
     return -1;
 
+  DBT dkey;
+  DBT databuf;
+
   struct HcacheDbCtx *ctx = vctx;
 
   dbt_init(&dkey, (void *) key, keylen);
@@ -208,11 +208,11 @@ static int hcache_bdb_store(void *vctx, const char *key, size_t keylen, void *da
  */
 static int hcache_bdb_delete(void *vctx, const char *key, size_t keylen)
 {
-  DBT dkey;
-
   if (!vctx)
     return -1;
 
+  DBT dkey;
+
   struct HcacheDbCtx *ctx = vctx;
 
   dbt_init(&dkey, (void *) key, keylen);
index 774297773b088eef69b9f3fe1586bfc4dc78f282..a25a80acacb7144f6409d5f2c55142042bbc77ee 100644 (file)
@@ -59,12 +59,12 @@ static void *hcache_gdbm_open(const char *path)
  */
 static void *hcache_gdbm_fetch(void *ctx, const char *key, size_t keylen)
 {
-  datum dkey;
-  datum data;
-
   if (!ctx)
     return NULL;
 
+  datum dkey;
+  datum data;
+
   GDBM_FILE db = ctx;
 
   dkey.dptr = (char *) key;
@@ -86,12 +86,12 @@ static void hcache_gdbm_free(void *vctx, void **data)
  */
 static int hcache_gdbm_store(void *ctx, const char *key, size_t keylen, void *data, size_t dlen)
 {
-  datum dkey;
-  datum databuf;
-
   if (!ctx)
     return -1;
 
+  datum dkey;
+  datum databuf;
+
   GDBM_FILE db = ctx;
 
   dkey.dptr = (char *) key;
@@ -108,11 +108,11 @@ static int hcache_gdbm_store(void *ctx, const char *key, size_t keylen, void *da
  */
 static int hcache_gdbm_delete(void *ctx, const char *key, size_t keylen)
 {
-  datum dkey;
-
   if (!ctx)
     return -1;
 
+  datum dkey;
+
   GDBM_FILE db = ctx;
 
   dkey.dptr = (char *) key;
index ee3a556fba4107ebd493b32d3056960fa283787a..94b914cd21dc116a8260b19ec46b4d05eb54642f 100644 (file)
@@ -175,20 +175,19 @@ fail_env:
  */
 static void *hcache_lmdb_fetch(void *vctx, const char *key, size_t keylen)
 {
-  MDB_val dkey;
-  MDB_val data;
-  int rc;
-
   if (!vctx)
     return NULL;
 
+  MDB_val dkey;
+  MDB_val data;
+
   struct HcacheLmdbCtx *ctx = vctx;
 
   dkey.mv_data = (void *) key;
   dkey.mv_size = keylen;
   data.mv_data = NULL;
   data.mv_size = 0;
-  rc = mdb_get_r_txn(ctx);
+  int rc = mdb_get_r_txn(ctx);
   if (rc != MDB_SUCCESS)
   {
     ctx->txn = NULL;
@@ -222,20 +221,19 @@ static void hcache_lmdb_free(void *vctx, void **data)
  */
 static int hcache_lmdb_store(void *vctx, const char *key, size_t keylen, void *data, size_t dlen)
 {
-  MDB_val dkey;
-  MDB_val databuf;
-  int rc;
-
   if (!vctx)
     return -1;
 
+  MDB_val dkey;
+  MDB_val databuf;
+
   struct HcacheLmdbCtx *ctx = vctx;
 
   dkey.mv_data = (void *) key;
   dkey.mv_size = keylen;
   databuf.mv_data = data;
   databuf.mv_size = dlen;
-  rc = mdb_get_w_txn(ctx);
+  int rc = mdb_get_w_txn(ctx);
   if (rc != MDB_SUCCESS)
   {
     mutt_debug(LL_DEBUG2, "mdb_get_w_txn: %s\n", mdb_strerror(rc));
@@ -257,17 +255,16 @@ static int hcache_lmdb_store(void *vctx, const char *key, size_t keylen, void *d
  */
 static int hcache_lmdb_delete(void *vctx, const char *key, size_t keylen)
 {
-  MDB_val dkey;
-  int rc;
-
   if (!vctx)
     return -1;
 
+  MDB_val dkey;
+
   struct HcacheLmdbCtx *ctx = vctx;
 
   dkey.mv_data = (void *) key;
   dkey.mv_size = keylen;
-  rc = mdb_get_w_txn(ctx);
+  int rc = mdb_get_w_txn(ctx);
   if (rc != MDB_SUCCESS)
   {
     mutt_debug(LL_DEBUG2, "mdb_get_w_txn: %s\n", mdb_strerror(rc));
index c20a932965be823e00efeb473c5a849800d6e14e..118b419baaada6c36d9fbf4c0266d198d886c2bc 100644 (file)
@@ -64,11 +64,10 @@ static void *hcache_tokyocabinet_open(const char *path)
  */
 static void *hcache_tokyocabinet_fetch(void *ctx, const char *key, size_t keylen)
 {
-  int sp;
-
   if (!ctx)
     return NULL;
 
+  int sp = 0;
   TCBDB *db = ctx;
   return tcbdbget(db, key, keylen, &sp);
 }
diff --git a/help.c b/help.c
index c089bf394db1e532a37bc394d363e789edd27471..bdbf244f85448d5ecd3702bd6cbf24648eb371e9 100644 (file)
--- a/help.c
+++ b/help.c
@@ -285,12 +285,11 @@ static void format_line(FILE *fp, int ismacro, const char *t1, const char *t2, c
 {
   int col;
   int col_b;
-  bool split;
 
   fputs(t1, fp);
 
   /* don't try to press string into one line with less than 40 characters. */
-  split = (MuttIndexWindow->cols < 40);
+  bool split = (MuttIndexWindow->cols < 40);
   if (split)
   {
     col = 0;
@@ -386,10 +385,10 @@ static void dump_menu(FILE *fp, int menu)
 
       if (map->op == OP_MACRO)
       {
-        if (!map->desc)
-          format_line(fp, -1, buf, "macro", map->macro);
-        else
+        if (map->desc)
           format_line(fp, 1, buf, map->macro, map->desc);
+        else
+          format_line(fp, -1, buf, "macro", map->macro);
       }
       else
       {
index 5358117f1ca54bb27e301f8d696289e50a472eef..60c3b3e94e14a4eb2ffed4583da8fec27323cfc1 100644 (file)
@@ -2110,7 +2110,7 @@ static int imap_mbox_open(struct Mailbox *m)
   }
 
   /* dump the mailbox flags we've found */
-  if (C_DebugLevel > 2)
+  if (C_DebugLevel > LL_DEBUG2)
   {
     if (STAILQ_EMPTY(&mdata->flags))
       mutt_debug(LL_DEBUG3, "No folder flags found\n");
@@ -2386,11 +2386,6 @@ static int imap_tags_commit(struct Mailbox *m, struct Email *e, char *buf)
   if (imap_edata_get(e)->flags_remote)
   {
     cmd = mutt_buffer_new();
-    if (!cmd)
-    {
-      mutt_debug(LL_DEBUG1, "unable to allocate buffer\n");
-      return -1;
-    }
     cmd->dptr = cmd->data;
     mutt_buffer_addstr(cmd, "UID STORE ");
     mutt_buffer_addstr(cmd, uid);
@@ -2413,11 +2408,6 @@ static int imap_tags_commit(struct Mailbox *m, struct Email *e, char *buf)
   if (buf)
   {
     cmd = mutt_buffer_new();
-    if (!cmd)
-    {
-      mutt_debug(LL_DEBUG1, "fail to remove old flags\n");
-      return -1;
-    }
     cmd->dptr = cmd->data;
     mutt_buffer_addstr(cmd, "UID STORE ");
     mutt_buffer_addstr(cmd, uid);
index 025d9c5200fbd32cb40045a3f7ce9c004c216042..3f878a063f1206d87cdbedf4853f76b0d77e4e51 100644 (file)
@@ -323,13 +323,13 @@ static char *msg_parse_flags(struct ImapHeader *h, char *s)
  */
 static int msg_parse_fetch(struct ImapHeader *h, char *s)
 {
+  if (!s)
+    return -1;
+
   char tmp[128];
   char *ptmp = NULL;
   size_t plen = 0;
 
-  if (!s)
-    return -1;
-
   while (*s)
   {
     SKIPWS(s);
@@ -432,9 +432,7 @@ static int msg_parse_fetch(struct ImapHeader *h, char *s)
  */
 static int msg_fetch_header(struct Mailbox *m, struct ImapHeader *ih, char *buf, FILE *fp)
 {
-  unsigned int bytes;
   int rc = -1; /* default now is that string isn't FETCH response */
-  int parse_rc;
 
   struct ImapAccountData *adata = imap_adata_get(m);
 
@@ -459,12 +457,13 @@ static int msg_fetch_header(struct Mailbox *m, struct ImapHeader *ih, char *buf,
 
   /* FIXME: current implementation - call msg_parse_fetch - if it returns -2,
    *   read header lines and call it again. Silly. */
-  parse_rc = msg_parse_fetch(ih, buf);
-  if (!parse_rc)
+  int parse_rc = msg_parse_fetch(ih, buf);
+  if (parse_rc == 0)
     return 0;
   if ((parse_rc != -2) || !fp)
     return rc;
 
+  unsigned int bytes = 0;
   if (imap_get_literal_count(buf, &bytes) == 0)
   {
     imap_read_literal(fp, adata, bytes, NULL);
@@ -1764,17 +1763,12 @@ char *imap_set_flags(struct Mailbox *m, struct Email *e, char *s, bool *server_c
     return NULL;
 
   struct ImapHeader newh = { 0 };
-  struct ImapEmailData old_edata;
-  bool readonly;
-  int local_changes;
-
-  local_changes = e->changed;
+  struct ImapEmailData old_edata = { 0 };
+  int local_changes = e->changed;
 
   struct ImapEmailData *edata = e->edata;
   newh.edata = edata;
 
-  memcpy(&old_edata, edata, sizeof(old_edata));
-
   mutt_debug(LL_DEBUG2, "parsing FLAGS\n");
   s = msg_parse_flags(&newh, s);
   if (!s)
@@ -1790,7 +1784,7 @@ char *imap_set_flags(struct Mailbox *m, struct Email *e, char *s, bool *server_c
    * read-write even if it's read-only, so *server* updates of
    * flags can be processed by mutt_set_flag. mailbox->changed must
    * be restored afterwards */
-  readonly = m->readonly;
+  bool readonly = m->readonly;
   m->readonly = false;
 
   /* This is redundant with the following two checks. Removing:
index 61aac421d22b0d4a9704662b06bbefe0549bc66b..729e532b8f8f649f185d51493b28049fa27b99a2 100644 (file)
@@ -457,15 +457,14 @@ void imap_hcache_close(struct ImapMboxData *mdata)
  */
 struct Email *imap_hcache_get(struct ImapMboxData *mdata, unsigned int uid)
 {
-  char key[16];
-  void *uv = NULL;
-  struct Email *e = NULL;
-
   if (!mdata->hcache)
     return NULL;
 
+  char key[16];
+  struct Email *e = NULL;
+
   sprintf(key, "/%u", uid);
-  uv = mutt_hcache_fetch(mdata->hcache, key, mutt_str_strlen(key));
+  void *uv = mutt_hcache_fetch(mdata->hcache, key, mutt_str_strlen(key));
   if (uv)
   {
     if (*(unsigned int *) uv == mdata->uid_validity)
@@ -487,11 +486,11 @@ struct Email *imap_hcache_get(struct ImapMboxData *mdata, unsigned int uid)
  */
 int imap_hcache_put(struct ImapMboxData *mdata, struct Email *e)
 {
-  char key[16];
-
   if (!mdata->hcache)
     return -1;
 
+  char key[16];
+
   sprintf(key, "/%u", imap_edata_get(e)->uid);
   return mutt_hcache_store(mdata->hcache, key, mutt_str_strlen(key), e, mdata->uid_validity);
 }
@@ -505,11 +504,11 @@ int imap_hcache_put(struct ImapMboxData *mdata, struct Email *e)
  */
 int imap_hcache_del(struct ImapMboxData *mdata, unsigned int uid)
 {
-  char key[16];
-
   if (!mdata->hcache)
     return -1;
 
+  char key[16];
+
   sprintf(key, "/%u", uid);
   return mutt_hcache_delete(mdata->hcache, key, mutt_str_strlen(key));
 }
diff --git a/index.c b/index.c
index f0f5257391b9df9462d57f6832e8efa70b687e6f..edaafa7a8a6cc3ddd2c5e4f1c74c31b9946963f6 100644 (file)
--- a/index.c
+++ b/index.c
@@ -3618,12 +3618,12 @@ int mutt_index_menu(void)
  */
 void mutt_set_header_color(struct Mailbox *m, struct Email *e)
 {
-  struct ColorLine *color = NULL;
-  struct PatternCache cache = { 0 };
-
   if (!e)
     return;
 
+  struct ColorLine *color = NULL;
+  struct PatternCache cache = { 0 };
+
   STAILQ_FOREACH(color, &ColorIndexList, entries)
   {
     if (mutt_pattern_exec(SLIST_FIRST(color->color_pattern),
diff --git a/init.c b/init.c
index 2549459b0c4cd715bb67f55520b8e9473d01140e..ce748347f22e2fdc370c755292e4816975a765fc 100644 (file)
--- a/init.c
+++ b/init.c
@@ -756,18 +756,16 @@ static int source_rc(const char *rcfile_path, struct Buffer *err)
   char *currentline = NULL;
   char rcfile[PATH_MAX];
   size_t buflen;
-  size_t rcfilelen;
-  bool ispipe;
 
   pid_t pid;
 
   mutt_str_strfcpy(rcfile, rcfile_path, sizeof(rcfile));
 
-  rcfilelen = mutt_str_strlen(rcfile);
+  size_t rcfilelen = mutt_str_strlen(rcfile);
   if (rcfilelen == 0)
     return -1;
 
-  ispipe = rcfile[rcfilelen - 1] == '|';
+  bool ispipe = rcfile[rcfilelen - 1] == '|';
 
   if (!ispipe)
   {
@@ -945,15 +943,15 @@ static enum CommandResult parse_alias(struct Buffer *buf, struct Buffer *s,
   mutt_grouplist_add_addrlist(&gc, tmp->addr);
   mutt_alias_add_reverse(tmp);
 
-  if (C_DebugLevel > 2)
+  if (C_DebugLevel > LL_DEBUG4)
   {
     /* A group is terminated with an empty address, so check a->mailbox */
     for (struct Address *a = tmp->addr; a && a->mailbox; a = a->next)
     {
-      if (!a->group)
-        mutt_debug(5, "  %s\n", a->mailbox);
-      else
+      if (a->group)
         mutt_debug(5, "  Group %s\n", a->mailbox);
+      else
+        mutt_debug(5, "  %s\n", a->mailbox);
     }
   }
   mutt_grouplist_destroy(&gc);
index ae262122e33c013f1d1b46f36b1088750576e865..97c502a766658689a2b33639c5555bb245696937 100644 (file)
--- a/keymap.c
+++ b/keymap.c
@@ -768,11 +768,11 @@ static const char *km_keyname(int c)
  */
 int km_expand_key(char *s, size_t len, struct Keymap *map)
 {
-  int p = 0;
-
   if (!map)
     return 0;
 
+  int p = 0;
+
   while (true)
   {
     mutt_str_strfcpy(s, km_keyname(map->keys[p]), len);
index f17d55bfa0a8a7908bc7338b44669161ea60303e..ae760544b59c3a2e0daaf1f9ebcc4faedd33b9bd 100644 (file)
@@ -1346,12 +1346,11 @@ void maildir_parse_flags(struct Email *e, const char *path)
 struct Email *maildir_parse_stream(enum MailboxType magic, FILE *fp,
                                    const char *fname, bool is_old, struct Email *e)
 {
-  struct stat st;
-
   if (!e)
     e = mutt_email_new();
   e->env = mutt_rfc822_read_header(fp, e, false, false);
 
+  struct stat st;
   fstat(fileno(fp), &st);
 
   if (!e->received)
index f39873159f08ebd1eef9bfadb8e7a9a1c8838322..f2e0c8f9bfffe7fefad53a9767ddcf70d804b8d5 100644 (file)
--- a/monitor.c
+++ b/monitor.c
@@ -204,11 +204,11 @@ static struct Monitor *monitor_new(struct MonitorInfo *info, int descriptor)
  */
 static void monitor_delete(struct Monitor *monitor)
 {
-  struct Monitor **ptr = &Monitor;
-
   if (!monitor)
     return;
 
+  struct Monitor **ptr = &Monitor;
+
   while (true)
   {
     if (!*ptr)
index 2d5f1b6fb4d3e8d7343ba3ffb1313cceac047b62..a6a512bdbb3ff60be8594b9d1d47c565de49841d 100644 (file)
@@ -95,12 +95,10 @@ void mutt_buffer_reset(struct Buffer *buf)
  */
 struct Buffer *mutt_buffer_from(const char *seed)
 {
-  struct Buffer *b = NULL;
-
   if (!seed)
     return NULL;
 
-  b = mutt_buffer_new();
+  struct Buffer *b = mutt_buffer_new();
   b->data = mutt_str_strdup(seed);
   b->dsize = mutt_str_strlen(seed);
   b->dptr = (char *) b->data + b->dsize;
index 43980133b86beea092a64658344095a1a54aca64..6bbd927550331bbcbb215e69cbecd40f17801702 100644 (file)
@@ -274,21 +274,18 @@ int mutt_ch_convert_nonmime_string(char **ps)
   for (const char *c = C_AssumedCharset; c; c = c1 ? c1 + 1 : 0)
   {
     char *u = *ps;
-    char *s = NULL;
-    char *fromcode = NULL;
-    size_t n;
     size_t ulen = mutt_str_strlen(*ps);
 
     if (!u || !*u)
       return 0;
 
     c1 = strchr(c, ':');
-    n = c1 ? c1 - c : mutt_str_strlen(c);
-    if (!n)
+    size_t n = c1 ? c1 - c : mutt_str_strlen(c);
+    if (n == 0)
       return 0;
-    fromcode = mutt_mem_malloc(n + 1);
+    char *fromcode = mutt_mem_malloc(n + 1);
     mutt_str_strfcpy(fromcode, c, n + 1);
-    s = mutt_str_substr_dup(u, u + ulen);
+    char *s = mutt_str_substr_dup(u, u + ulen);
     int m = mutt_ch_convert_string(&s, fromcode, C_Charset, 0);
     FREE(&fromcode);
     FREE(&s);
@@ -777,8 +774,6 @@ int mutt_ch_convert_string(char **ps, const char *from, const char *to, int flag
  */
 bool mutt_ch_check_charset(const char *cs, bool strict)
 {
-  iconv_t cd;
-
   if (mutt_ch_is_utf8(cs))
     return true;
 
@@ -794,7 +789,7 @@ bool mutt_ch_check_charset(const char *cs, bool strict)
     }
   }
 
-  cd = mutt_ch_iconv_open(cs, cs, 0);
+  iconv_t cd = mutt_ch_iconv_open(cs, cs, 0);
   if (cd != (iconv_t)(-1))
   {
     iconv_close(cd);
@@ -995,20 +990,17 @@ char *mutt_ch_choose(const char *fromcode, const char *charsets, const char *u,
 
   for (const char *p = charsets; p; p = q ? q + 1 : 0)
   {
-    char *s = NULL, *t = NULL;
-    size_t slen, n;
-
     q = strchr(p, ':');
 
-    n = q ? q - p : strlen(p);
-    if (!n)
+    size_t n = q ? q - p : strlen(p);
+    if (n == 0)
       continue;
 
-    t = mutt_mem_malloc(n + 1);
+    char *t = mutt_mem_malloc(n + 1);
     memcpy(t, p, n);
     t[n] = '\0';
 
-    s = mutt_str_substr_dup(u, u + ulen);
+    char *s = mutt_str_substr_dup(u, u + ulen);
     const int rc = d ? mutt_ch_convert_string(&s, fromcode, t, 0) :
                        mutt_ch_check(s, ulen, fromcode, t);
     if (rc)
@@ -1017,7 +1009,7 @@ char *mutt_ch_choose(const char *fromcode, const char *charsets, const char *u,
       FREE(&s);
       continue;
     }
-    slen = mutt_str_strlen(s);
+    size_t slen = mutt_str_strlen(s);
 
     if (!tocode || (n < bestn))
     {
index 82d25c87377ad8e06ac6025ec1b7afb856b67846..746473377dd949c84ce1e34c9cbf40f3e3cbc394 100644 (file)
@@ -439,7 +439,7 @@ time_t mutt_date_parse_date(const char *s, struct Tz *tz_out)
 {
   int count = 0;
   int hour, min, sec;
-  struct tm tm;
+  struct tm tm = { 0 };
   int i;
   int tz_offset = 0;
   int zhours = 0;
@@ -462,8 +462,6 @@ time_t mutt_date_parse_date(const char *s, struct Tz *tz_out)
     t = scratch;
   t = mutt_str_skip_email_wsp(t);
 
-  memset(&tm, 0, sizeof(tm));
-
   while ((t = strtok(t, " \t")))
   {
     switch (count)
index f0500ce5b028b9f244d57064a82a91ac6bc04601..4d961f773dcbd714b6e1db1c9660090de277cfee 100644 (file)
@@ -85,10 +85,9 @@ bool mutt_envlist_set(const char *name, const char *value, bool overwrite)
 {
   char **envp = EnvList;
   char work[1024];
-  int count;
 
   /* Look for current slot to overwrite */
-  count = 0;
+  int count = 0;
   while (envp && *envp)
   {
     size_t len = mutt_str_startswith(*envp, name, CASE_MATCH);
index 0ad1daa9b3264e4b38430ee78b956267b2e4c969..b40acac977fdbc6262a513fe2e55946c04790851 100644 (file)
@@ -196,9 +196,7 @@ void mutt_file_unlink(const char *s)
 
   const bool is_regular_file = (lstat(s, &sb) == 0) && S_ISREG(sb.st_mode);
   if (!is_regular_file)
-  {
     return;
-  }
 
   const int fd = open(s, O_RDWR | O_NOFOLLOW);
   if (fd < 0)
@@ -739,14 +737,14 @@ bool mutt_file_map_lines(mutt_file_map_t func, void *user_data, FILE *fp, int fl
  */
 size_t mutt_file_quote_filename(const char *filename, char *buf, size_t buflen)
 {
-  size_t j = 0;
-
   if (!filename)
   {
     *buf = '\0';
     return 0;
   }
 
+  size_t j = 0;
+
   /* leave some space for the trailing characters. */
   buflen -= 6;
 
@@ -1108,7 +1106,7 @@ int mutt_file_lock(int fd, bool excl, bool timeout)
  */
 int mutt_file_unlock(int fd)
 {
-  struct flock unlockit = { F_UNLCK, 0, 0, 0, 0 };
+  struct flock unlockit;
 
   memset(&unlockit, 0, sizeof(struct flock));
   unlockit.l_type = F_UNLCK;
index fbf4e55ea81abe41cbcd2cd6a22fdb652f58bccd..48b79ff452fd45dc8d1cd99a48912f80171574e1 100644 (file)
@@ -198,14 +198,11 @@ static struct HashElem *union_hash_insert(struct Hash *table, union HashKey key,
  */
 static struct HashElem *union_hash_find_elem(const struct Hash *table, union HashKey key)
 {
-  int hash;
-  struct HashElem *ptr = NULL;
-
   if (!table)
     return NULL;
 
-  hash = table->gen_hash(key, table->nelem);
-  ptr = table->table[hash];
+  int hash = table->gen_hash(key, table->nelem);
+  struct HashElem *ptr = table->table[hash];
   for (; ptr; ptr = ptr->next)
   {
     if (table->cmp_key(key, ptr->key) == 0)
@@ -237,15 +234,12 @@ static void *union_hash_find(const struct Hash *table, union HashKey key)
  */
 static void union_hash_delete(struct Hash *table, union HashKey key, const void *data)
 {
-  int hash;
-  struct HashElem *ptr, **last;
-
   if (!table)
     return;
 
-  hash = table->gen_hash(key, table->nelem);
-  ptr = table->table[hash];
-  last = &table->table[hash];
+  int hash = table->gen_hash(key, table->nelem);
+  struct HashElem *ptr = table->table[hash];
+  struct HashElem **last = &table->table[hash];
 
   while (ptr)
   {
@@ -413,14 +407,13 @@ void *mutt_hash_int_find(const struct Hash *table, unsigned int intkey)
  */
 struct HashElem *mutt_hash_find_bucket(const struct Hash *table, const char *strkey)
 {
-  union HashKey key;
-  int hash;
-
   if (!table)
     return NULL;
 
+  union HashKey key;
+
   key.strkey = strkey;
-  hash = table->gen_hash(key, table->nelem);
+  int hash = table->gen_hash(key, table->nelem);
   return table->table[hash];
 }
 
index 179c7de7e42292cd202fe8942a392b5abc2176dd..f4160906221388cd0ae98b1882f68d7f7b8c17f8 100644 (file)
@@ -361,14 +361,13 @@ static void save_history(enum HistoryClass hclass, const char *str)
  */
 static void remove_history_dups(enum HistoryClass hclass, const char *str)
 {
-  int source, dest, old_last;
   struct History *h = get_history(hclass);
   if (!h)
     return; /* disabled */
 
   /* Remove dups from 0..last-1 compacting up. */
-  source = 0;
-  dest = 0;
+  int source = 0;
+  int dest = 0;
   while (source < h->last)
   {
     if (mutt_str_strcmp(h->hist[source], str) == 0)
@@ -379,7 +378,7 @@ static void remove_history_dups(enum HistoryClass hclass, const char *str)
 
   /* Move 'last' entry up. */
   h->hist[dest] = h->hist[source];
-  old_last = h->last;
+  int old_last = h->last;
   h->last = dest;
 
   /* Fill in moved entries with NULL */
@@ -411,13 +410,12 @@ static void remove_history_dups(enum HistoryClass hclass, const char *str)
  */
 int mutt_hist_search(const char *search_buf, enum HistoryClass hclass, char **matches)
 {
-  int match_count = 0, cur;
-
   struct History *h = get_history(hclass);
   if (!h)
     return 0;
 
-  cur = h->last;
+  int match_count = 0;
+  int cur = h->last;
   do
   {
     cur--;
index 85da0979a55494cc55dccebe045a62d9877d2272..e27113a7fdf33198b52cf44fc61f04554b084e62 100644 (file)
@@ -553,13 +553,13 @@ bool mutt_path_abbr_folder(char *buf, size_t buflen, const char *folder)
  */
 char *mutt_path_escape(const char *src)
 {
+  if (!src)
+    return NULL;
+
   static char dest[STR_COMMAND];
   char *destp = dest;
   int destsize = 0;
 
-  if (!src)
-    return NULL;
-
   while (*src && (destsize < sizeof(dest) - 1))
   {
     if (*src != '\'')
index 42a37c1c13d8f0a6f0c159e23fe436e35abce255..7473224b096ced8bc49af7ddda4138600591862c 100644 (file)
@@ -118,11 +118,11 @@ static bool count_body_parts_check(struct ListHead *checklist, struct Body *b, b
  */
 static int count_body_parts(struct Body *body, int flags)
 {
-  int count = 0;
-
   if (!body)
     return 0;
 
+  int count = 0;
+
   for (struct Body *bp = body; bp; bp = bp->next)
   {
     /* Initial disposition is to count and not to recurse this part. */
index b42c695a806bde593c893e88988c137a570c4e48..b5b3f2c556155d1fc835658ba721a4720f3d5c22 100644 (file)
@@ -834,8 +834,8 @@ void mutt_sort_threads(struct Context *ctx, bool init)
 
   struct Email *cur = NULL;
   int i, oldsort, using_refs = 0;
-  struct MuttThread *thread = NULL, *new = NULL, *tmp = NULL, top;
-  memset(&top, 0, sizeof(top));
+  struct MuttThread *thread = NULL, *new = NULL, *tmp = NULL;
+  struct MuttThread top = { 0 };
   struct ListNode *ref = NULL;
 
   /* Set C_Sort to the secondary method to support the set sort_aux=reverse-*
index ffadc12a0f34ad54ec78cd9a0cee764dcfa0bbe5..7d6d7484b3b5a2417307ffb5c036de3aba983b5d 100644 (file)
@@ -247,10 +247,10 @@ void mutt_window_reflow(void)
   MuttStatusWindow->col_offset = 0;
 
   memcpy(MuttHelpWindow, MuttStatusWindow, sizeof(struct MuttWindow));
-  if (!C_Help)
-    MuttHelpWindow->rows = 0;
-  else
+  if (C_Help)
     MuttHelpWindow->row_offset = C_StatusOnTop ? LINES - 2 : 0;
+  else
+    MuttHelpWindow->rows = 0;
 
   memcpy(MuttMessageWindow, MuttStatusWindow, sizeof(struct MuttWindow));
   MuttMessageWindow->row_offset = LINES - 1;
index 6a359255f6aadda5faee8b1f4f684336556165ef..11962bf1da6d325dafef85c1b579f803b3f61858 100644 (file)
@@ -727,14 +727,10 @@ SecurityFlags crypt_query(struct Body *m)
  */
 int crypt_write_signed(struct Body *a, struct State *s, const char *tempfile)
 {
-  FILE *fp = NULL;
-  bool hadcr;
-  size_t bytes;
-
   if (!WithCrypto)
     return -1;
 
-  fp = mutt_file_fopen(tempfile, "w");
+  FILE *fp = mutt_file_fopen(tempfile, "w");
   if (!fp)
   {
     mutt_perror(tempfile);
@@ -742,8 +738,8 @@ int crypt_write_signed(struct Body *a, struct State *s, const char *tempfile)
   }
 
   fseeko(s->fp_in, a->hdr_offset, SEEK_SET);
-  bytes = a->length + a->offset - a->hdr_offset;
-  hadcr = false;
+  size_t bytes = a->length + a->offset - a->hdr_offset;
+  bool hadcr = false;
   while (bytes > 0)
   {
     const int c = fgetc(s->fp_in);
@@ -817,12 +813,12 @@ void crypt_convert_to_7bit(struct Body *a)
  */
 void crypt_extract_keys_from_messages(struct EmailList *el)
 {
-  char tempfname[PATH_MAX], *mbox = NULL;
-  struct Address *tmp = NULL;
-
   if (!WithCrypto)
     return;
 
+  char tempfname[PATH_MAX];
+  struct Address *tmp = NULL;
+
   mutt_mktemp(tempfname, sizeof(tempfname));
   FILE *fp_out = mutt_file_fopen(tempfname, "w");
   if (!fp_out)
@@ -873,7 +869,7 @@ void crypt_extract_keys_from_messages(struct EmailList *el)
         tmp = mutt_expand_aliases(e->env->from);
       else if (e->env->sender)
         tmp = mutt_expand_aliases(e->env->sender);
-      mbox = tmp ? tmp->mailbox : NULL;
+      char *mbox = tmp ? tmp->mailbox : NULL;
       if (mbox)
       {
         mutt_endwin();
@@ -912,6 +908,9 @@ void crypt_extract_keys_from_messages(struct EmailList *el)
  */
 int crypt_get_keys(struct Email *msg, char **keylist, bool oppenc_mode)
 {
+  if (!WithCrypto)
+    return 0;
+
   struct Address *addrlist = NULL, *last = NULL;
   const char *fqdn = mutt_fqdn(true);
   char *self_encrypt = NULL;
@@ -919,9 +918,6 @@ int crypt_get_keys(struct Email *msg, char **keylist, bool oppenc_mode)
   /* Do a quick check to make sure that we can find all of the encryption
    * keys if the user has requested this service.  */
 
-  if (!WithCrypto)
-    return 0;
-
   if (WithCrypto & APPLICATION_PGP)
     OptPgpCheckTrust = true;
 
@@ -983,14 +979,14 @@ int crypt_get_keys(struct Email *msg, char **keylist, bool oppenc_mode)
  */
 void crypt_opportunistic_encrypt(struct Email *msg)
 {
-  char *pgpkeylist = NULL;
-
   if (!WithCrypto)
     return;
 
   if (!(C_CryptOpportunisticEncrypt && (msg->security & SEC_OPPENCRYPT)))
     return;
 
+  char *pgpkeylist = NULL;
+
   crypt_get_keys(msg, &pgpkeylist, 1);
   if (pgpkeylist)
   {
@@ -1072,15 +1068,15 @@ int mutt_protected_headers_handler(struct Body *a, struct State *s)
  */
 int mutt_signed_handler(struct Body *a, struct State *s)
 {
+  if (!WithCrypto)
+    return -1;
+
   bool inconsistent = false;
   struct Body *b = a;
   struct Body **signatures = NULL;
   int sigcnt = 0;
   int rc = 0;
 
-  if (!WithCrypto)
-    return -1;
-
   a = a->parts;
   SecurityFlags signed_type = mutt_is_multipart_signed(b);
   if (signed_type == SEC_NO_FLAGS)
index 3e6c690f06a4f3b9df68204d5c7f0d9340754504..d3980b2114eccc4cef03b723b5792ffe263224d1 100644 (file)
@@ -592,11 +592,11 @@ static struct CryptKeyInfo *crypt_copy_key(struct CryptKeyInfo *key)
  */
 static void crypt_free_key(struct CryptKeyInfo **keylist)
 {
-  struct CryptKeyInfo *k = NULL;
-
   if (!keylist)
     return;
 
+  struct CryptKeyInfo *k = NULL;
+
   while (*keylist)
   {
     k = *keylist;
@@ -768,7 +768,7 @@ static gpgme_data_t create_gpgme_data(void)
  */
 static bool have_gpg_version(const char *version)
 {
-  static char *engine_version;
+  static char *engine_version = NULL;
 
   if (!engine_version)
   {
@@ -869,10 +869,9 @@ static gpgme_data_t body_to_data_object(struct Body *a, bool convert)
  */
 static gpgme_data_t file_to_data_object(FILE *fp, long offset, size_t length)
 {
-  int err = 0;
   gpgme_data_t data;
 
-  err = gpgme_data_new_from_filepart(&data, NULL, fp, offset, length);
+  int err = gpgme_data_new_from_filepart(&data, NULL, fp, offset, length);
   if (err != 0)
   {
     mutt_error(_("error allocating data object: %s"), gpgme_strerror(err));
@@ -891,11 +890,10 @@ static gpgme_data_t file_to_data_object(FILE *fp, long offset, size_t length)
  */
 static int data_object_to_stream(gpgme_data_t data, FILE *fp)
 {
-  int err;
   char buf[4096];
   ssize_t nread;
 
-  err = ((gpgme_data_seek(data, 0, SEEK_SET) == -1) ? gpgme_error_from_errno(errno) : 0);
+  int err = ((gpgme_data_seek(data, 0, SEEK_SET) == -1) ? gpgme_error_from_errno(errno) : 0);
   if (err != 0)
   {
     mutt_error(_("error rewinding data object: %s"), gpgme_strerror(err));
@@ -939,7 +937,6 @@ static int data_object_to_stream(gpgme_data_t data, FILE *fp)
  */
 static char *data_object_to_tempfile(gpgme_data_t data, FILE **fp_ret)
 {
-  int err;
   char tempf[PATH_MAX];
   ssize_t nread = 0;
 
@@ -951,7 +948,7 @@ static char *data_object_to_tempfile(gpgme_data_t data, FILE **fp_ret)
     return NULL;
   }
 
-  err = ((gpgme_data_seek(data, 0, SEEK_SET) == -1) ? gpgme_error_from_errno(errno) : 0);
+  int err = ((gpgme_data_seek(data, 0, SEEK_SET) == -1) ? gpgme_error_from_errno(errno) : 0);
   if (err == 0)
   {
     char buf[4096];
@@ -1686,20 +1683,19 @@ static int show_sig_summary(unsigned long sum, gpgme_ctx_t ctx, gpgme_key_t key,
  */
 static void show_fingerprint(gpgme_key_t key, struct State *state)
 {
-  const char *s = NULL;
-  char *buf = NULL, *p = NULL;
-  const char *prefix = _("Fingerprint: ");
-
   if (!key)
     return;
-  s = key->subkeys ? key->subkeys->fpr : NULL;
+
+  const char *prefix = _("Fingerprint: ");
+
+  const char *s = key->subkeys ? key->subkeys->fpr : NULL;
   if (!s)
     return;
   bool is_pgp = (key->protocol == GPGME_PROTOCOL_OpenPGP);
 
-  buf = mutt_mem_malloc(strlen(prefix) + strlen(s) * 4 + 2);
+  char *buf = mutt_mem_malloc(strlen(prefix) + strlen(s) * 4 + 2);
   strcpy(buf, prefix);
-  p = buf + strlen(buf);
+  char *p = buf + strlen(buf);
   if (is_pgp && (strlen(s) == 40))
   { /* PGP v4 style formatted. */
     for (int i = 0; *s && s[1] && s[2] && s[3] && s[4]; s += 4, i++)
@@ -1973,7 +1969,6 @@ static int verify_one(struct Body *sigbdy, struct State *s, const char *tempfile
 {
   int badsig = -1;
   int anywarn = 0;
-  int err;
   gpgme_ctx_t ctx;
   gpgme_data_t signature, message;
 
@@ -1986,7 +1981,7 @@ static int verify_one(struct Body *sigbdy, struct State *s, const char *tempfile
   if (is_smime)
     gpgme_data_set_encoding(signature, GPGME_DATA_ENCODING_BASE64);
 
-  err = gpgme_data_new_from_file(&message, tempfile, 1);
+  int err = gpgme_data_new_from_file(&message, tempfile, 1);
   if (err != 0)
   {
     gpgme_data_release(signature);
index a6b126578bb6814ec51c24930c83b482c91ebf08..3a9fc90e5f1ea8bbd2e7261bf21d1a246f65fbfe 100644 (file)
@@ -71,8 +71,6 @@ static const char *pgp_hash_to_micalg(short id)
 static void pgp_dearmor(FILE *fp_in, FILE *fp_out)
 {
   char line[8192];
-  LOFF_T start;
-  LOFF_T end;
   char *r = NULL;
 
   struct State state = { 0 };
@@ -107,7 +105,7 @@ static void pgp_dearmor(FILE *fp_in, FILE *fp_out)
   }
 
   /* actual data starts here */
-  start = ftello(fp_in);
+  LOFF_T start = ftello(fp_in);
   if (start < 0)
     return;
 
@@ -124,7 +122,7 @@ static void pgp_dearmor(FILE *fp_in, FILE *fp_out)
     return;
   }
 
-  end = ftello(fp_in) - strlen(line);
+  LOFF_T end = ftello(fp_in) - strlen(line);
   if (end < start)
   {
     mutt_debug(LL_DEBUG1, "end < start???\n");
index 730347313142f665410b7534c0970aa84f3ecb57..aff6bd4b45b799f251507449846a0e047b805bf1 100644 (file)
@@ -112,11 +112,11 @@ static char fp_smime_intermediateToUse[PATH_MAX];
  */
 static void smime_free_key(struct SmimeKey **keylist)
 {
-  struct SmimeKey *key = NULL;
-
   if (!keylist)
     return;
 
+  struct SmimeKey *key = NULL;
+
   while (*keylist)
   {
     key = *keylist;
@@ -137,11 +137,11 @@ static void smime_free_key(struct SmimeKey **keylist)
  */
 static struct SmimeKey *smime_copy_key(struct SmimeKey *key)
 {
-  struct SmimeKey *copy = NULL;
-
   if (!key)
     return NULL;
 
+  struct SmimeKey *copy = NULL;
+
   copy = mutt_mem_calloc(1, sizeof(struct SmimeKey));
   copy->email = mutt_str_strdup(key->email);
   copy->hash = mutt_str_strdup(key->hash);
@@ -774,6 +774,9 @@ static struct SmimeKey *smime_get_key_by_hash(char *hash, bool public)
 static struct SmimeKey *smime_get_key_by_addr(char *mailbox, KeyFlags abilities,
                                               bool public, bool may_ask)
 {
+  if (!mailbox)
+    return NULL;
+
   struct SmimeKey *results = NULL, *result = NULL;
   struct SmimeKey *matches = NULL;
   struct SmimeKey **matches_end = &matches;
@@ -781,9 +784,6 @@ static struct SmimeKey *smime_get_key_by_addr(char *mailbox, KeyFlags abilities,
   struct SmimeKey *trusted_match = NULL;
   struct SmimeKey *valid_match = NULL;
   struct SmimeKey *return_key = NULL;
-
-  if (!mailbox)
-    return NULL;
   bool multi_trusted_matches = false;
 
   results = smime_get_candidates(mailbox, public);
@@ -852,15 +852,15 @@ static struct SmimeKey *smime_get_key_by_addr(char *mailbox, KeyFlags abilities,
  */
 static struct SmimeKey *smime_get_key_by_str(char *str, KeyFlags abilities, bool public)
 {
+  if (!str)
+    return NULL;
+
   struct SmimeKey *results = NULL, *result = NULL;
   struct SmimeKey *matches = NULL;
   struct SmimeKey **matches_end = &matches;
   struct SmimeKey *match = NULL;
   struct SmimeKey *return_key = NULL;
 
-  if (!str)
-    return NULL;
-
   results = smime_get_candidates(str, public);
   for (result = results; result; result = result->next)
   {
index 34caa93d411246359707f2af800a2fa92cb7257f..7a831a567fd4691a02a25fc02223762f74af1bd6 100644 (file)
@@ -210,7 +210,6 @@ int nntp_newsrc_parse(struct NntpAccountData *adata)
   for (unsigned int i = 0; i < adata->groups_num; i++)
   {
     struct NntpMboxData *mdata = adata->groups_list[i];
-
     if (!mdata)
       continue;
 
@@ -436,16 +435,14 @@ static int update_file(char *filename, char *buf)
  */
 int nntp_newsrc_update(struct NntpAccountData *adata)
 {
-  char *buf = NULL;
-  size_t buflen, off;
-  int rc = -1;
-
   if (!adata)
     return -1;
 
-  buflen = 10240;
-  buf = mutt_mem_calloc(1, buflen);
-  off = 0;
+  int rc = -1;
+
+  size_t buflen = 10240;
+  char *buf = mutt_mem_calloc(1, buflen);
+  size_t off = 0;
 
   /* we will generate full newsrc here */
   for (unsigned int i = 0; i < adata->groups_num; i++)
@@ -642,18 +639,13 @@ static int active_get_cache(struct NntpAccountData *adata)
  */
 int nntp_active_save_cache(struct NntpAccountData *adata)
 {
-  char file[PATH_MAX];
-  char *buf = NULL;
-  size_t buflen, off;
-  int rc;
-
   if (!adata->cacheable)
     return 0;
 
-  buflen = 10240;
-  buf = mutt_mem_calloc(1, buflen);
+  size_t buflen = 10240;
+  char *buf = mutt_mem_calloc(1, buflen);
   snprintf(buf, buflen, "%lu\n", (unsigned long) adata->newgroups_time);
-  off = strlen(buf);
+  size_t off = strlen(buf);
 
   for (unsigned int i = 0; i < adata->groups_num; i++)
   {
@@ -673,9 +665,10 @@ int nntp_active_save_cache(struct NntpAccountData *adata)
     off += strlen(buf + off);
   }
 
+  char file[PATH_MAX];
   cache_expand(file, sizeof(file), &adata->conn->account, ".active");
   mutt_debug(LL_DEBUG1, "Updating %s\n", file);
-  rc = update_file(file, buf);
+  int rc = update_file(file, buf);
   FREE(&buf);
   return rc;
 }
@@ -730,16 +723,15 @@ header_cache_t *nntp_hcache_open(struct NntpMboxData *mdata)
  */
 void nntp_hcache_update(struct NntpMboxData *mdata, header_cache_t *hc)
 {
+  if (!hc)
+    return;
+
   char buf[16];
   bool old = false;
-  void *hdata = NULL;
   anum_t first = 0, last = 0;
 
-  if (!hc)
-    return;
-
   /* fetch previous values of first and last */
-  hdata = mutt_hcache_fetch_raw(hc, "index", 5);
+  void *hdata = mutt_hcache_fetch_raw(hc, "index", 5);
   if (hdata)
   {
     mutt_debug(LL_DEBUG2, "mutt_hcache_fetch index: %s\n", (char *) hdata);
@@ -1220,12 +1212,10 @@ void nntp_article_status(struct Mailbox *m, struct Email *e, char *group, anum_t
  */
 struct NntpMboxData *mutt_newsgroup_subscribe(struct NntpAccountData *adata, char *group)
 {
-  struct NntpMboxData *mdata = NULL;
-
   if (!adata || !adata->groups_hash || !group || !*group)
     return NULL;
 
-  mdata = mdata_find(adata, group);
+  struct NntpMboxData *mdata = mdata_find(adata, group);
   mdata->subscribed = true;
   if (!mdata->newsrc_ent)
   {
@@ -1246,12 +1236,10 @@ struct NntpMboxData *mutt_newsgroup_subscribe(struct NntpAccountData *adata, cha
  */
 struct NntpMboxData *mutt_newsgroup_unsubscribe(struct NntpAccountData *adata, char *group)
 {
-  struct NntpMboxData *mdata = NULL;
-
   if (!adata || !adata->groups_hash || !group || !*group)
     return NULL;
 
-  mdata = mutt_hash_find(adata->groups_hash, group);
+  struct NntpMboxData *mdata = mutt_hash_find(adata->groups_hash, group);
   if (!mdata)
     return NULL;
 
@@ -1275,12 +1263,10 @@ struct NntpMboxData *mutt_newsgroup_unsubscribe(struct NntpAccountData *adata, c
 struct NntpMboxData *mutt_newsgroup_catchup(struct Mailbox *m,
                                             struct NntpAccountData *adata, char *group)
 {
-  struct NntpMboxData *mdata = NULL;
-
   if (!adata || !adata->groups_hash || !group || !*group)
     return NULL;
 
-  mdata = mutt_hash_find(adata->groups_hash, group);
+  struct NntpMboxData *mdata = mutt_hash_find(adata->groups_hash, group);
   if (!mdata)
     return NULL;
 
@@ -1311,12 +1297,10 @@ struct NntpMboxData *mutt_newsgroup_catchup(struct Mailbox *m,
 struct NntpMboxData *mutt_newsgroup_uncatchup(struct Mailbox *m,
                                               struct NntpAccountData *adata, char *group)
 {
-  struct NntpMboxData *mdata = NULL;
-
   if (!adata || !adata->groups_hash || !group || !*group)
     return NULL;
 
-  mdata = mutt_hash_find(adata->groups_hash, group);
+  struct NntpMboxData *mdata = mutt_hash_find(adata->groups_hash, group);
   if (!mdata)
     return NULL;
 
index ff72a76b409409257882cd4e6a7c2baeb648fa42..54393fec67c47ed7a806de5a446942e5ca1c8519 100644 (file)
@@ -441,14 +441,12 @@ static int nntp_attempt_features(struct NntpAccountData *adata)
         off += strlen(adata->overview_fmt + off);
         if (cont == 0)
         {
-          char *colon = NULL;
-
           if (adata->overview_fmt[b] == ':')
           {
             memmove(adata->overview_fmt + b, adata->overview_fmt + b + 1, off - b - 1);
             adata->overview_fmt[off - 1] = ':';
           }
-          colon = strchr(adata->overview_fmt + b, ':');
+          char *colon = strchr(adata->overview_fmt + b, ':');
           if (!colon)
             adata->overview_fmt[off++] = ':';
           else if (strcmp(colon + 1, "full") != 0)
@@ -938,14 +936,12 @@ static int nntp_fetch_lines(struct NntpMboxData *mdata, char *query, size_t qlen
  */
 static int fetch_description(char *line, void *data)
 {
-  struct NntpAccountData *adata = data;
-  struct NntpMboxData *mdata = NULL;
-  char *desc = NULL;
-
   if (!line)
     return 0;
 
-  desc = strpbrk(line, " \t");
+  struct NntpAccountData *adata = data;
+
+  char *desc = strpbrk(line, " \t");
   if (desc)
   {
     *desc++ = '\0';
@@ -954,7 +950,7 @@ static int fetch_description(char *line, void *data)
   else
     desc = strchr(line, '\0');
 
-  mdata = mutt_hash_find(adata->groups_hash, line);
+  struct NntpMboxData *mdata = mutt_hash_find(adata->groups_hash, line);
   if (mdata && (mutt_str_strcmp(desc, mdata->desc) != 0))
   {
     mutt_str_replace(&mdata->desc, desc);
@@ -1750,8 +1746,7 @@ static int nntp_date(struct NntpAccountData *adata, time_t *now)
   {
     struct NntpMboxData mdata;
     char buf[1024];
-    struct tm tm;
-    memset(&tm, 0, sizeof(tm));
+    struct tm tm = { 0 };
 
     mdata.adata = adata;
     mdata.group = NULL;
index 4d1cc42e8799e57fa7ba65b2f9333806917deb75..083ca530ada65ea934524386ca211bf0c84d1509 100644 (file)
@@ -903,13 +903,13 @@ static struct Email *get_mutt_email(struct Mailbox *m, notmuch_message_t *msg)
 static void append_message(header_cache_t *h, struct Mailbox *m,
                            notmuch_query_t *q, notmuch_message_t *msg, bool dedup)
 {
-  char *newpath = NULL;
-  struct Email *e = NULL;
-
   struct NmMboxData *mdata = nm_mdata_get(m);
   if (!mdata)
     return;
 
+  char *newpath = NULL;
+  struct Email *e = NULL;
+
   /* deduplicate */
   if (dedup && get_mutt_email(m, msg))
   {
index c75fccd8758fe7a3f6df376e5c5bbb950a8286a9..4d0a5fae85921f7591368ef9ada287d83c179d9b 100644 (file)
--- a/pattern.c
+++ b/pattern.c
@@ -168,7 +168,8 @@ enum RangeSide
  * @param err   Buffer for error messages
  * @retval true If the pattern was read successfully
  */
-typedef bool pattern_eat_t(struct Pattern *pat, int flags, struct Buffer *s, struct Buffer *err);
+typedef bool pattern_eat_t(struct Pattern *pat, int flags, struct Buffer *s,
+                           struct Buffer *err);
 
 /**
  * struct PatternFlags - Mapping between user character and internal constant
@@ -847,11 +848,8 @@ static bool is_context_available(struct Buffer *s, regmatch_t pmatch[],
  */
 static int scan_range_num(struct Buffer *s, regmatch_t pmatch[], int group, int kind)
 {
-  int num;
-  unsigned char c;
-
-  num = (int) strtol(&s->dptr[pmatch[group].rm_so], NULL, 0);
-  c = (unsigned char) (s->dptr[pmatch[group].rm_eo - 1]);
+  int num = (int) strtol(&s->dptr[pmatch[group].rm_so], NULL, 0);
+  unsigned char c = (unsigned char) (s->dptr[pmatch[group].rm_eo - 1]);
   if (toupper(c) == 'K')
     num *= KILO;
   else if (toupper(c) == 'M')
@@ -880,8 +878,6 @@ static int scan_range_num(struct Buffer *s, regmatch_t pmatch[], int group, int
  */
 static int scan_range_slot(struct Buffer *s, regmatch_t pmatch[], int grp, int side, int kind)
 {
-  unsigned char c;
-
   /* This means the left or right subpattern was empty, e.g. ",." */
   if ((pmatch[grp].rm_so == -1) || (pmatch[grp].rm_so == pmatch[grp].rm_eo))
   {
@@ -891,7 +887,7 @@ static int scan_range_slot(struct Buffer *s, regmatch_t pmatch[], int grp, int s
       return Context->mailbox->msg_count;
   }
   /* We have something, so determine what */
-  c = (unsigned char) (s->dptr[pmatch[grp].rm_so]);
+  unsigned char c = (unsigned char) (s->dptr[pmatch[grp].rm_so]);
   switch (c)
   {
     case RANGE_CIRCUM:
@@ -915,11 +911,9 @@ static int scan_range_slot(struct Buffer *s, regmatch_t pmatch[], int grp, int s
  */
 static void order_range(struct Pattern *pat)
 {
-  int num;
-
   if (pat->min <= pat->max)
     return;
-  num = pat->min;
+  int num = pat->min;
   pat->min = pat->max;
   pat->max = num;
 }
@@ -1804,12 +1798,11 @@ static int match_threadcomplete(struct PatternHead *pat, PatternExecFlags flags,
                                 struct Mailbox *m, struct MuttThread *t,
                                 int left, int up, int right, int down)
 {
-  int a;
-  struct Email *e = NULL;
-
   if (!t)
     return 0;
-  e = t->message;
+
+  int a;
+  struct Email *e = t->message;
   if (e)
     if (mutt_pattern_exec(SLIST_FIRST(pat), flags, m, e, NULL))
       return 1;
@@ -1977,9 +1970,6 @@ static int is_pattern_cache_set(int cache_entry)
 int mutt_pattern_exec(struct Pattern *pat, PatternExecFlags flags,
                       struct Mailbox *m, struct Email *e, struct PatternCache *cache)
 {
-  int result;
-  int *cache_entry = NULL;
-
   switch (pat->op)
   {
     case MUTT_PAT_AND:
@@ -2107,11 +2097,14 @@ int mutt_pattern_exec(struct Pattern *pat, PatternExecFlags flags,
       return pat->not^match_addrlist(pat, (flags & MUTT_MATCH_FULL_ADDRESS), 2,
                                      e->env->to, e->env->cc);
     case MUTT_PAT_LIST: /* known list, subscribed or not */
+    {
       if (!e->env)
         return 0;
+
+      int result;
       if (cache)
       {
-        cache_entry = pat->alladdr ? &cache->list_all : &cache->list_one;
+        int *cache_entry = pat->alladdr ? &cache->list_all : &cache->list_one;
         if (!is_pattern_cache_set(*cache_entry))
         {
           set_pattern_cache_value(
@@ -2122,12 +2115,16 @@ int mutt_pattern_exec(struct Pattern *pat, PatternExecFlags flags,
       else
         result = mutt_is_list_cc(pat->alladdr, e->env->to, e->env->cc);
       return pat->not^result;
+    }
     case MUTT_PAT_SUBSCRIBED_LIST:
+    {
       if (!e->env)
         return 0;
+
+      int result;
       if (cache)
       {
-        cache_entry = pat->alladdr ? &cache->sub_all : &cache->sub_one;
+        int *cache_entry = pat->alladdr ? &cache->sub_all : &cache->sub_one;
         if (!is_pattern_cache_set(*cache_entry))
         {
           set_pattern_cache_value(
@@ -2139,12 +2136,16 @@ int mutt_pattern_exec(struct Pattern *pat, PatternExecFlags flags,
       else
         result = mutt_is_list_recipient(pat->alladdr, e->env->to, e->env->cc);
       return pat->not^result;
+    }
     case MUTT_PAT_PERSONAL_RECIP:
+    {
       if (!e->env)
         return 0;
+
+      int result;
       if (cache)
       {
-        cache_entry = pat->alladdr ? &cache->pers_recip_all : &cache->pers_recip_one;
+        int *cache_entry = pat->alladdr ? &cache->pers_recip_all : &cache->pers_recip_one;
         if (!is_pattern_cache_set(*cache_entry))
         {
           set_pattern_cache_value(cache_entry,
@@ -2155,12 +2156,16 @@ int mutt_pattern_exec(struct Pattern *pat, PatternExecFlags flags,
       else
         result = match_user(pat->alladdr, e->env->to, e->env->cc);
       return pat->not^result;
+    }
     case MUTT_PAT_PERSONAL_FROM:
+    {
       if (!e->env)
         return 0;
+
+      int result;
       if (cache)
       {
-        cache_entry = pat->alladdr ? &cache->pers_from_all : &cache->pers_from_one;
+        int *cache_entry = pat->alladdr ? &cache->pers_from_all : &cache->pers_from_one;
         if (!is_pattern_cache_set(*cache_entry))
           set_pattern_cache_value(cache_entry, match_user(pat->alladdr, e->env->from, NULL));
         result = get_pattern_cache_value(*cache_entry);
@@ -2168,6 +2173,7 @@ int mutt_pattern_exec(struct Pattern *pat, PatternExecFlags flags,
       else
         result = match_user(pat->alladdr, e->env->from, NULL);
       return pat->not^result;
+    }
     case MUTT_PAT_COLLAPSED:
       return pat->not^(e->collapsed && e->num_hidden > 1);
     case MUTT_PAT_CRYPT_SIGN:
@@ -2317,12 +2323,10 @@ void mutt_check_simple(char *s, size_t len, const char *simple)
  */
 static struct MuttThread *top_of_thread(struct Email *e)
 {
-  struct MuttThread *t = NULL;
-
   if (!e)
     return NULL;
 
-  t = e->thread;
+  struct MuttThread *t = e->thread;
 
   while (t && t->parent)
     t = t->parent;
@@ -2338,12 +2342,10 @@ static struct MuttThread *top_of_thread(struct Email *e)
  */
 bool mutt_limit_current_thread(struct Email *e)
 {
-  struct MuttThread *me = NULL;
-
   if (!e)
     return false;
 
-  me = top_of_thread(e);
+  struct MuttThread *me = top_of_thread(e);
   if (!me)
     return false;
 
@@ -2381,10 +2383,9 @@ bool mutt_limit_current_thread(struct Email *e)
  */
 int mutt_pattern_func(int op, char *prompt)
 {
-  struct PatternHead *pat = NULL;
-  char buf[1024] = "", *simple = NULL;
+  char buf[1024] = "";
   struct Buffer err;
-  int rc = -1, padding;
+  int rc = -1;
   struct Progress progress;
 
   mutt_str_strfcpy(buf, Context->pattern, sizeof(buf));
@@ -2395,13 +2396,13 @@ int mutt_pattern_func(int op, char *prompt)
 
   mutt_message(_("Compiling search pattern..."));
 
-  simple = mutt_str_strdup(buf);
+  char *simple = mutt_str_strdup(buf);
   mutt_check_simple(buf, sizeof(buf), NONULL(C_SimpleSearch));
 
   mutt_buffer_init(&err);
   err.dsize = 256;
   err.data = mutt_mem_malloc(err.dsize);
-  pat = mutt_pattern_comp(buf, MUTT_FULL_MSG, &err);
+  struct PatternHead *pat = mutt_pattern_comp(buf, MUTT_FULL_MSG, &err);
   if (!pat)
   {
     mutt_error("%s", err.data);
@@ -2423,7 +2424,7 @@ int mutt_pattern_func(int op, char *prompt)
     Context->mailbox->vcount = 0;
     Context->vsize = 0;
     Context->collapsed = false;
-    padding = mx_msg_padding_size(Context->mailbox);
+    int padding = mx_msg_padding_size(Context->mailbox);
 
     for (int i = 0; i < Context->mailbox->msg_count; i++)
     {
index e78fa363d135cee63f5b72e29becad76b8b115fa..2267bca6eba18bb6d01d1d2e4e086587e0a22f4a 100644 (file)
@@ -63,7 +63,7 @@ static enum PopAuthRes pop_auth_sasl(struct PopAccountData *adata, const char *m
   char inbuf[1024];
   const char *mech = NULL;
   const char *pc = NULL;
-  unsigned int len = 0, olen = 0, client_start;
+  unsigned int len = 0, olen = 0;
 
   if (mutt_account_getpass(&adata->conn->account) || !adata->conn->account.pass[0])
     return POP_A_FAILURE;
@@ -99,7 +99,7 @@ static enum PopAuthRes pop_auth_sasl(struct PopAccountData *adata, const char *m
   /* About client_start:  If sasl_client_start() returns data via pc/olen,
    * the client is expected to send this first (after the AUTH string is sent).
    * sasl_client_start() may in fact return SASL_OK in this case.  */
-  client_start = olen;
+  unsigned int client_start = olen;
 
   mutt_message(_("Authenticating (SASL)..."));
 
index a994350e5e4edc54d5aa7e035f504d78cb7cd267..61052ace026b233768d556d54727cadc0c476130 100644 (file)
@@ -114,13 +114,13 @@ static void message_bar(int percent, const char *fmt, ...)
 void mutt_progress_init(struct Progress *progress, const char *msg,
                         unsigned short flags, unsigned short inc, size_t size)
 {
-  struct timeval tv = { 0, 0 };
-
   if (!progress)
     return;
   if (OptNoCurses)
     return;
 
+  struct timeval tv = { 0, 0 };
+
   memset(progress, 0, sizeof(struct Progress));
   progress->inc = inc;
   progress->flags = flags;
index da4250db37b1641df5b244b1363dfc93befcb995..9ef9be5f476d943a7e23ea2611cb9366d0ec6e3e 100644 (file)
--- a/recvcmd.c
+++ b/recvcmd.c
@@ -499,13 +499,13 @@ static void attach_forward_bodies(FILE *fp, struct Email *e, struct AttachCtx *a
 
   if (C_ForwardQuote)
   {
-    if (!C_TextFlowed)
+    if (C_TextFlowed)
+      mutt_str_strfcpy(prefix, ">", sizeof(prefix));
+    else
     {
       mutt_make_string(prefix, sizeof(prefix), NONULL(C_IndentString), Context,
                        Context->mailbox, e_parent);
     }
-    else
-      mutt_str_strfcpy(prefix, ">", sizeof(prefix));
   }
 
   include_header(C_ForwardQuote, fp_parent, e_parent, fp_tmp, prefix);
index baf207915bcfbb50623f082391b172726dea24eb..09395f2433a5c0bf1d2669c4fe3cacb6e8a721ff 100644 (file)
@@ -159,9 +159,10 @@ static void mix_free_remailer(struct Remailer **r)
  */
 static struct Remailer **mix_type2_list(size_t *l)
 {
-  FILE *fp = NULL;
-  pid_t mm_pid;
+  if (!l)
+    return NULL;
 
+  FILE *fp = NULL;
   char cmd[STR_COMMAND];
   char line[8192];
   char *t = NULL;
@@ -169,16 +170,13 @@ static struct Remailer **mix_type2_list(size_t *l)
   struct Remailer **type2_list = NULL, *p = NULL;
   size_t slots = 0, used = 0;
 
-  if (!l)
-    return NULL;
-
   int fd_null = open("/dev/null", O_RDWR);
   if (fd_null == -1)
     return NULL;
 
   snprintf(cmd, sizeof(cmd), "%s -T", C_Mixmaster);
 
-  mm_pid = mutt_create_filter_fd(cmd, NULL, &fp, NULL, fd_null, -1, fd_null);
+  pid_t mm_pid = mutt_create_filter_fd(cmd, NULL, &fp, NULL, fd_null, -1, fd_null);
   if (mm_pid == -1)
   {
     close(fd_null);
@@ -268,11 +266,11 @@ static void mix_free_type2_list(struct Remailer ***ttlp)
 static void mix_screen_coordinates(struct Remailer **type2_list, struct Coord **coordsp,
                                    struct MixChain *chain, int i)
 {
-  short c, r;
-
   if (!chain->cl)
     return;
 
+  short c, r;
+
   mutt_mem_realloc(coordsp, sizeof(struct Coord) * chain->cl);
 
   struct Coord *coords = *coordsp;
index ee574ba292cfc61c33b63b603650926540d529b9..da3f5c76129811472ca38709b8eab928a046cbeb 100644 (file)
--- a/rfc1524.c
+++ b/rfc1524.c
@@ -145,11 +145,11 @@ int rfc1524_expand_command(struct Body *a, const char *filename,
  */
 static char *get_field(char *s)
 {
-  char *ch = NULL;
-
   if (!s)
     return NULL;
 
+  char *ch = NULL;
+
   while ((ch = strpbrk(s, ";\\")))
   {
     if (*ch == '\\')
index b42b12012b9875ac90750b95c313a9d041475719..deacc9db5628d8eb46c5d1a9b6ab585a7887f5c9 100644 (file)
--- a/sendlib.c
+++ b/sendlib.c
@@ -3273,9 +3273,6 @@ int mutt_write_fcc(const char *path, struct Email *e, const char *msgid,
 
   if (fp_tmp)
   {
-    char line_buf[1024];
-    int lines = 0;
-
     mutt_write_mime_body(e->content, fp_tmp);
 
     /* make sure the last line ends with a newline.  Emacs doesn't ensure this
@@ -3300,6 +3297,8 @@ int mutt_write_fcc(const char *path, struct Email *e, const char *msgid,
     }
 
     /* count the number of lines */
+    int lines = 0;
+    char line_buf[1024];
     rewind(fp_tmp);
     while (fgets(line_buf, sizeof(line_buf), fp_tmp))
       lines++;
diff --git a/smtp.c b/smtp.c
index c7a93d7e00de558ffad48793019b30c1b67b7ad3..75f56ba04b31fd1869f04eab94582ec7734c9d27 100644 (file)
--- a/smtp.c
+++ b/smtp.c
@@ -367,9 +367,6 @@ static int smtp_fill_account(struct ConnAccount *account)
  */
 static int smtp_helo(struct Connection *conn, bool esmtp)
 {
-  char buf[1024];
-  const char *fqdn = NULL;
-
   Capabilities = 0;
 
   if (!esmtp)
@@ -383,10 +380,11 @@ static int smtp_helo(struct Connection *conn, bool esmtp)
 #endif
   }
 
-  fqdn = mutt_fqdn(false);
+  const char *fqdn = mutt_fqdn(false);
   if (!fqdn)
     fqdn = NONULL(ShortHostname);
 
+  char buf[1024];
   snprintf(buf, sizeof(buf), "%s %s\r\n", esmtp ? "EHLO" : "HELO", fqdn);
   /* XXX there should probably be a wrapper in mutt_socket.c that
    * repeatedly calls conn->write until all data is sent.  This