]> granicus.if.org Git - neomutt/commitdiff
tidy mapping functions
authorRichard Russon <rich@flatcap.org>
Thu, 4 Jan 2018 12:50:28 +0000 (12:50 +0000)
committerRichard Russon <rich@flatcap.org>
Wed, 17 Jan 2018 00:25:37 +0000 (00:25 +0000)
mutt/mapping.c

index 5085755305d23309a5c811b5c69fd7308b890876..44442014c345c0de1bbf56dd0e8504f3b4e3b734 100644 (file)
  * @param val ID to locate in map
  * @param map NULL-terminated map of strings and constants
  * @retval str  String matching ID
- * @retval NULL ID not found
+ * @retval NULL Error, or ID not found
  */
 const char *mutt_map_get_name(int val, const struct Mapping *map)
 {
-  for (int i = 0; map[i].name; i++)
+  if (!map)
+    return NULL;
+
+  for (size_t i = 0; map[i].name; i++)
     if (map[i].value == val)
       return map[i].name;
+
   return NULL;
 }
 
@@ -56,12 +60,16 @@ const char *mutt_map_get_name(int val, const struct Mapping *map)
  * @param name String to locate in map
  * @param map  NULL-terminated map of strings and constants
  * @retval num  ID matching string
- * @retval -1   String not found
+ * @retval -1   Error, or string not found
  */
 int mutt_map_get_value(const char *name, const struct Mapping *map)
 {
-  for (int i = 0; map[i].name; i++)
+  if (!name || !map)
+    return -1;
+
+  for (size_t i = 0; map[i].name; i++)
     if (mutt_str_strcasecmp(map[i].name, name) == 0)
       return map[i].value;
+
   return -1;
 }