[PATCH 2/8] Fix const casts and use const where needed

Rene Kita <[email protected]>
Newsgroups gmane.mail.mutt.devel
Message-ID <[email protected]>
Found with -Wcast-qual.
---
 addrbook.c |  8 ++++----
 browser.c  | 24 ++++++++++++------------
 hash.c     |  4 ++--
 listmenu.c |  4 ++--
 pager.c    |  6 +++---
 pgpkey.c   | 16 ++++++++--------
 rfc3676.c  |  2 +-
 sort.c     | 43 ++++++++++++++++++++++---------------------
 thread.c   | 22 ++++++++++++----------
 9 files changed, 66 insertions(+), 63 deletions(-)

diff --git a/addrbook.c b/addrbook.c
index 6175e39a..924a2c3e 100644
--- a/addrbook.c
+++ b/addrbook.c
@@ -95,8 +95,8 @@ static int alias_tag(MUTTMENU *menu, int n, int m)
 
 static int alias_SortAlias(const void *a, const void *b)
 {
-  ALIAS *pa = *(ALIAS **) a;
-  ALIAS *pb = *(ALIAS **) b;
+  const ALIAS *pa = *(const ALIAS * const *) a;
+  const ALIAS *pb = *(const ALIAS * const *) b;
   int r = mutt_strcasecmp(pa->name, pb->name);
 
   return (RSORT(r));
@@ -104,8 +104,8 @@ static int alias_SortAlias(const void *a, const void *b)
 
 static int alias_SortAddress(const void *a, const void *b)
 {
-  ADDRESS *pa = (*(ALIAS **) a)->addr;
-  ADDRESS *pb = (*(ALIAS **) b)->addr;
+  const ADDRESS *pa = (*(ALIAS * const *) a)->addr;
+  const ADDRESS *pb = (*(ALIAS * const *) b)->addr;
   int r;
 
   if (pa == pb)
diff --git a/browser.c b/browser.c
index 82f138ab..7f3498ce 100644
--- a/browser.c
+++ b/browser.c
@@ -86,8 +86,8 @@ static int sort_reverse_flag = 0;
 
 static int browser_compare_order(const void *a, const void *b)
 {
-  struct folder_file *pa = (struct folder_file *) a;
-  struct folder_file *pb = (struct folder_file *) b;
+  const struct folder_file *pa = (const struct folder_file *) a;
+  const struct folder_file *pb = (const struct folder_file *) b;
 
   int r = mutt_numeric_cmp(pa->number, pb->number);
 
@@ -96,8 +96,8 @@ static int browser_compare_order(const void *a, const void *b)
 
 static int browser_compare_subject(const void *a, const void *b)
 {
-  struct folder_file *pa = (struct folder_file *) a;
-  struct folder_file *pb = (struct folder_file *) b;
+  const struct folder_file *pa = (const struct folder_file *) a;
+  const struct folder_file *pb = (const struct folder_file *) b;
 
   int r = mutt_strcoll(pa->display_name, pb->display_name);
 
@@ -106,8 +106,8 @@ static int browser_compare_subject(const void *a, const void *b)
 
 static int browser_compare_date(const void *a, const void *b)
 {
-  struct folder_file *pa = (struct folder_file *) a;
-  struct folder_file *pb = (struct folder_file *) b;
+  const struct folder_file *pa = (const struct folder_file *) a;
+  const struct folder_file *pb = (const struct folder_file *) b;
 
   int r = mutt_numeric_cmp(pa->mtime, pb->mtime);
 
@@ -116,8 +116,8 @@ static int browser_compare_date(const void *a, const void *b)
 
 static int browser_compare_size(const void *a, const void *b)
 {
-  struct folder_file *pa = (struct folder_file *) a;
-  struct folder_file *pb = (struct folder_file *) b;
+  const struct folder_file *pa = (const struct folder_file *) a;
+  const struct folder_file *pb = (const struct folder_file *) b;
 
   int r = mutt_numeric_cmp(pa->size, pb->size);
 
@@ -126,8 +126,8 @@ static int browser_compare_size(const void *a, const void *b)
 
 static int browser_compare_count(const void *a, const void *b)
 {
-  struct folder_file *pa = (struct folder_file *) a;
-  struct folder_file *pb = (struct folder_file *) b;
+  const struct folder_file *pa = (const struct folder_file *) a;
+  const struct folder_file *pb = (const struct folder_file *) b;
 
   int r = mutt_numeric_cmp(pa->msg_count, pb->msg_count);
 
@@ -136,8 +136,8 @@ static int browser_compare_count(const void *a, const void *b)
 
 static int browser_compare_unread(const void *a, const void *b)
 {
-  struct folder_file *pa = (struct folder_file *) a;
-  struct folder_file *pb = (struct folder_file *) b;
+  const struct folder_file *pa = (const struct folder_file *) a;
+  const struct folder_file *pb = (const struct folder_file *) b;
 
   int r = mutt_numeric_cmp(pa->msg_unread, pb->msg_unread);
 
diff --git a/hash.c b/hash.c
index dff38e86..e0860aea 100644
--- a/hash.c
+++ b/hash.c
@@ -32,7 +32,7 @@
 static unsigned int gen_string_hash(union hash_key key, unsigned int n)
 {
   unsigned int h = 0;
-  unsigned char *s = (unsigned char *)key.strkey;
+  const unsigned char *s = (const unsigned char *)key.strkey;
 
   while (*s)
     h += (h << 7) + *s++;
@@ -49,7 +49,7 @@ static int cmp_string_key(union hash_key a, union hash_key b)
 static unsigned int gen_case_string_hash(union hash_key key, unsigned int n)
 {
   unsigned int h = 0;
-  unsigned char *s = (unsigned char *)key.strkey;
+  const unsigned char *s = (const unsigned char *)key.strkey;
 
   while (*s)
     h += (h << 7) + tolower(*s++);
diff --git a/listmenu.c b/listmenu.c
index 46bd8d8b..02bfc074 100644
--- a/listmenu.c
+++ b/listmenu.c
@@ -158,10 +158,10 @@ static void list_headers_free(struct list_headers **p_lhdrs)
 static void make_field_format(int max, char *dst)
 {
   int len = 0;
-  struct mapping_t *action;
+  const struct mapping_t *action;
 
   dst[--max] = '\0';
-  for (action = (struct mapping_t *)ListActions; action->name; action++)
+  for (action = (const struct mapping_t *)ListActions; action->name; action++)
     len = MAX(len, mutt_strwidth(_(action->name)));
 
   /* n.b. not localized - is a metaformat */
diff --git a/pager.c b/pager.c
index c67eb3a8..a9c30dbd 100644
--- a/pager.c
+++ b/pager.c
@@ -425,7 +425,7 @@ classify_quote(struct q_class_t **QuoteList, const char *qptr,
 {
   struct q_class_t *q_list = *QuoteList;
   struct q_class_t *class = NULL, *tmp = NULL, *ptr, *save;
-  char *tail_qptr;
+  const char *tail_qptr;
   int offset, tail_lng;
   int index = -1;
 
@@ -554,7 +554,7 @@ classify_quote(struct q_class_t **QuoteList, const char *qptr,
 
         q_list = q_list->down;
         tail_lng = length - offset;
-        tail_qptr = (char *) qptr + offset;
+        tail_qptr = qptr + offset;
 
         while (q_list)
         {
@@ -657,7 +657,7 @@ classify_quote(struct q_class_t **QuoteList, const char *qptr,
 
               q_list = q_list->down;
               tail_lng = length - offset;
-              tail_qptr = (char *) qptr + offset;
+              tail_qptr = qptr + offset;
 
               continue;
             }
diff --git a/pgpkey.c b/pgpkey.c
index dcbeee48..a6532e4c 100644
--- a/pgpkey.c
+++ b/pgpkey.c
@@ -300,8 +300,8 @@ static int _pgp_compare_address(const void *a, const void *b)
 {
   int r;
 
-  pgp_uid_t **s = (pgp_uid_t **) a;
-  pgp_uid_t **t = (pgp_uid_t **) b;
+  const pgp_uid_t * const *s = (const pgp_uid_t * const *) a;
+  const pgp_uid_t * const *t = (const pgp_uid_t * const *) b;
 
   if ((r = mutt_strcasecmp((*s)->addr, (*t)->addr)))
     return r;
@@ -322,8 +322,8 @@ static int _pgp_compare_keyid(const void *a, const void *b)
 {
   int r;
 
-  pgp_uid_t **s = (pgp_uid_t **) a;
-  pgp_uid_t **t = (pgp_uid_t **) b;
+  const pgp_uid_t * const *s = (const pgp_uid_t * const *) a;
+  const pgp_uid_t * const *t = (const pgp_uid_t * const *) b;
 
   if ((r = mutt_strcasecmp(pgp_fpr_or_lkeyid((*s)->parent),
                            pgp_fpr_or_lkeyid((*t)->parent))))
@@ -341,8 +341,8 @@ static int pgp_compare_keyid(const void *a, const void *b)
 static int _pgp_compare_date(const void *a, const void *b)
 {
   int r;
-  pgp_uid_t **s = (pgp_uid_t **) a;
-  pgp_uid_t **t = (pgp_uid_t **) b;
+  const pgp_uid_t * const *s = (const pgp_uid_t * const *) a;
+  const pgp_uid_t * const *t = (const pgp_uid_t * const *) b;
 
   if ((r = mutt_numeric_cmp((*s)->parent->gen_time, (*t)->parent->gen_time)))
     return r;
@@ -359,8 +359,8 @@ static int _pgp_compare_trust(const void *a, const void *b)
 {
   int r;
 
-  pgp_uid_t **s = (pgp_uid_t **) a;
-  pgp_uid_t **t = (pgp_uid_t **) b;
+  const pgp_uid_t * const *s = (const pgp_uid_t * const *) a;
+  const pgp_uid_t * const *t = (const pgp_uid_t * const *) b;
 
   if ((r = mutt_numeric_cmp(((*s)->parent->flags & (KEYFLAG_RESTRICTIONS)),
                             ((*t)->parent->flags & (KEYFLAG_RESTRICTIONS)))))
diff --git a/rfc3676.c b/rfc3676.c
index 48128a3d..ebb5cbdc 100644
--- a/rfc3676.c
+++ b/rfc3676.c
@@ -51,7 +51,7 @@ typedef struct flowed_state
 static int get_quote_level(const char *line)
 {
   int quoted = 0;
-  char *p = (char *) line;
+  const char *p = line;
 
   while (p && *p == '>')
   {
diff --git a/sort.c b/sort.c
index ce6f9e0e..f818a531 100644
--- a/sort.c
+++ b/sort.c
@@ -31,29 +31,29 @@
 
 static int compare_score(const void *a, const void *b)
 {
-  HEADER **pa = (HEADER **) a;
-  HEADER **pb = (HEADER **) b;
+  const HEADER * const *pa = (const HEADER * const *) a;
+  const HEADER * const *pb = (const HEADER * const *) b;
   return mutt_numeric_cmp((*pb)->score, (*pa)->score); /* note that this is reverse */
 }
 
 static int compare_size(const void *a, const void *b)
 {
-  HEADER **pa = (HEADER **) a;
-  HEADER **pb = (HEADER **) b;
+  const HEADER * const *pa = (const HEADER * const *) a;
+  const HEADER * const *pb = (const HEADER * const *) b;
   return mutt_numeric_cmp((*pa)->content->length, (*pb)->content->length);
 }
 
 static int compare_date_sent(const void *a, const void *b)
 {
-  HEADER **pa = (HEADER **) a;
-  HEADER **pb = (HEADER **) b;
+  const HEADER * const *pa = (const HEADER * const *) a;
+  const HEADER * const *pb = (const HEADER * const *) b;
   return mutt_numeric_cmp((*pa)->date_sent, (*pb)->date_sent);
 }
 
 static int compare_subject(const void *a, const void *b)
 {
-  HEADER **pa = (HEADER **) a;
-  HEADER **pb = (HEADER **) b;
+  const HEADER * const *pa = (const HEADER * const *) a;
+  const HEADER * const *pb = (const HEADER * const *) b;
   int rc;
 
   if (!(*pa)->env->real_subj)
@@ -89,8 +89,8 @@ const char *mutt_get_name(ADDRESS *a)
 
 static int compare_to(const void *a, const void *b)
 {
-  HEADER **ppa = (HEADER **) a;
-  HEADER **ppb = (HEADER **) b;
+  const HEADER * const *ppa = (const HEADER * const *) a;
+  const HEADER * const *ppb = (const HEADER * const *) b;
   char fa[SHORT_STRING];
   const char *fb;
 
@@ -101,8 +101,8 @@ static int compare_to(const void *a, const void *b)
 
 static int compare_from(const void *a, const void *b)
 {
-  HEADER **ppa = (HEADER **) a;
-  HEADER **ppb = (HEADER **) b;
+  const HEADER * const *ppa = (const HEADER * const *) a;
+  const HEADER * const *ppb = (const HEADER * const *) b;
   char fa[SHORT_STRING];
   const char *fb;
 
@@ -113,23 +113,23 @@ static int compare_from(const void *a, const void *b)
 
 static int compare_date_received(const void *a, const void *b)
 {
-  HEADER **pa = (HEADER **) a;
-  HEADER **pb = (HEADER **) b;
+  const HEADER * const *pa = (const HEADER * const *) a;
+  const HEADER * const *pb = (const HEADER * const *) b;
   return mutt_numeric_cmp((*pa)->received, (*pb)->received);
 }
 
 static int compare_order(const void *a, const void *b)
 {
-  HEADER **ha = (HEADER **) a;
-  HEADER **hb = (HEADER **) b;
+  const HEADER * const *ha = (const HEADER * const *) a;
+  const HEADER * const *hb = (const HEADER * const *) b;
 
   return mutt_numeric_cmp((*ha)->index, (*hb)->index);
 }
 
 static int compare_spam(const void *a, const void *b)
 {
-  HEADER **ppa = (HEADER **) a;
-  HEADER **ppb = (HEADER **) b;
+  const HEADER * const *ppa = (const HEADER * const *) a;
+  const HEADER * const *ppb = (const HEADER * const *) b;
   char   *aptr, *bptr;
   int     ahas, bhas;
   int     result = 0;
@@ -176,8 +176,8 @@ static int compare_spam(const void *a, const void *b)
 
 static int compare_label(const void *a, const void *b)
 {
-  HEADER **ppa = (HEADER **) a;
-  HEADER **ppb = (HEADER **) b;
+  const HEADER * const *ppa = (const HEADER * const *) a;
+  const HEADER * const *ppb = (const HEADER * const *) b;
   int     ahas, bhas;
 
   /* As with compare_spam, not all messages will have the x-label
@@ -251,7 +251,8 @@ static int compare_unthreaded(const void *a, const void *b)
   if (rc)
     return (SortAux & SORT_REVERSE) ? -rc : rc;
 
-  rc = mutt_numeric_cmp((*((HEADER **)a))->index, (*((HEADER **)b))->index);
+  rc = mutt_numeric_cmp((*((const HEADER * const *) a))->index,
+                        (*((const HEADER * const *) b))->index);
   if (rc)
     return (Sort & SORT_REVERSE) ? -rc : rc;
 
diff --git a/thread.c b/thread.c
index c67a3f78..4d388711 100644
--- a/thread.c
+++ b/thread.c
@@ -589,13 +589,13 @@ static int compare_aux_threads(const void *a, const void *b)
     return aux_func ? 1 : 0;
   }
 
-  rc = (*aux_func)(&(*((THREAD **) a))->sort_aux_key,
-                   &(*((THREAD **) b))->sort_aux_key);
+  rc = (*aux_func)(&(*((const THREAD * const *) a))->sort_aux_key,
+                   &(*((const THREAD * const *) b))->sort_aux_key);
   if (rc)
     return (SortAux & SORT_REVERSE) ? -rc : rc;
 
-  rc = mutt_numeric_cmp((*((THREAD **)a))->sort_aux_key->index,
-                        (*((THREAD **)b))->sort_aux_key->index);
+  rc = mutt_numeric_cmp((*((const THREAD * const *) a))->sort_aux_key->index,
+                        (*((const THREAD * const *) b))->sort_aux_key->index);
   if (rc)
     return (SortAux & SORT_REVERSE) ? -rc : rc;
 
@@ -623,7 +623,8 @@ static int compare_aux_sortkeys(const void *a, const void *b)
   if (rc)
     return rc;
 
-  return mutt_numeric_cmp((*((HEADER **)a))->index, (*((HEADER **)b))->index);
+  return mutt_numeric_cmp((*((const HEADER * const *) a))->index,
+                          (*((const HEADER * const *) b))->index);
 }
 
 static int compare_root_threads(const void *a, const void *b)
@@ -648,13 +649,13 @@ static int compare_root_threads(const void *a, const void *b)
     return sort_func ? 1 : 0;
   }
 
-  rc = (*sort_func)(&(*((THREAD **) a))->sort_group_key,
-                    &(*((THREAD **) b))->sort_group_key);
+  rc = (*sort_func)(&(*((const THREAD * const *) a))->sort_group_key,
+                    &(*((const THREAD * const *) b))->sort_group_key);
   if (rc)
     return reverse ? -rc : rc;
 
-  rc = mutt_numeric_cmp((*((THREAD **)a))->sort_group_key->index,
-                        (*((THREAD **)b))->sort_group_key->index);
+  rc = mutt_numeric_cmp((*((const THREAD * const *) a))->sort_group_key->index,
+                        (*((const THREAD * const *) b))->sort_group_key->index);
   if (rc)
     return reverse ? -rc : rc;
 
@@ -687,7 +688,8 @@ static int compare_group_sortkeys(const void *a, const void *b)
   if (rc)
     return rc;
 
-  return mutt_numeric_cmp((*((HEADER **)a))->index, (*((HEADER **)b))->index);
+  return mutt_numeric_cmp((*((const HEADER * const *) a))->index,
+                          (*((const HEADER * const *) b))->index);
 }
 
 THREAD *mutt_sort_subthreads(THREAD *thread, int init)
-- 
2.51.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.