src/config.c
changeset 36 6889aacd038e
parent 33 56571d34d754
child 47 a689b6a8e6ed
--- a/src/config.c
+++ b/src/config.c
@@ -12,6 +12,10 @@
 #include <config.h>
 #include "common.h"
 
+enum config_map {
+    NICK, PASSWORD, SERVER, PORT, CHANNEL, TOPIC,
+};
+
 const
 char *CONFIG_OPTIONS[] = {
     "NICK", "PASSWORD", "SERVER", "PORT",
@@ -25,15 +29,15 @@
     char **line;
     char *token;
     char *value;
-    int i = 0;
+    enum config_map map = 0;
 
     if ((f = fopen (fname, "r")) == NULL)
         return -1;
 
-    while (CONFIG_OPTIONS[i] != NULL)
-        i++;
+    while (CONFIG_OPTIONS[map] != NULL)
+        map++;
 
-    line = calloc ((size_t) (i + 1), sizeof (char *));
+    line = calloc ((size_t) (map + 1), sizeof (char *));
 
     /*
      * We can easily provide default values ...
@@ -54,13 +58,13 @@
 
         if (token != NULL) {
             value = strtok (NULL, "\n");
-            i = 0;
-            while (CONFIG_OPTIONS[i] != NULL) {
-                if (!strcmp (CONFIG_OPTIONS[i], token)) {
+            map = 0;
+            while (CONFIG_OPTIONS[map] != NULL) {
+                if (!strcmp (CONFIG_OPTIONS[map], token)) {
                     if (value)
-                        line[i] = compat_strdup (value);
+                        line[map] = compat_strdup (value);
                 }
-                i++;
+                map++;
             }
         }
     }
@@ -68,36 +72,36 @@
     if (fclose (f) != 0)
         return -1;
 
-    i = 0;
-    while (CONFIG_OPTIONS[i] != NULL) {
-        if (line[i] != NULL)
-            switch (i) {
-            case 0:            /* NICK */
-                uc->nick = compat_strdup (line[i]);
-                free (line[i]);
+    map = 0;
+    while (CONFIG_OPTIONS[map] != NULL) {
+        if (line[map] != NULL)
+            switch (map) {
+            case NICK:
+                uc->nick = compat_strdup (line[map]);
+                free (line[map]);
                 break;
-            case 1:            /* PASSWORD */
-                uc->pass = compat_strdup (line[i]);
-                free (line[i]);
+            case PASSWORD:
+                uc->pass = compat_strdup (line[map]);
+                free (line[map]);
                 break;
-            case 2:            /* SERVER */
-                uc->server = compat_strdup (line[i]);
-                free (line[i]);
+            case SERVER:
+                uc->server = compat_strdup (line[map]);
+                free (line[map]);
                 break;
-            case 3:            /* PORT */
-                uc->port = atoi (line[i]);
-                free (line[i]);
+            case PORT:
+                uc->port = atoi (line[map]);
+                free (line[map]);
                 break;
-            case 4:            /* CHANNEL */
-                uc->channel = compat_strdup (line[i]);
-                free (line[i]);
+            case CHANNEL:
+                uc->channel = compat_strdup (line[map]);
+                free (line[map]);
                 break;
-            case 5:            /* TOPIC */
-                uc->topic = compat_strdup (line[i]);
-                free (line[i]);
+            case TOPIC:
+                uc->topic = compat_strdup (line[map]);
+                free (line[map]);
                 break;
             }
-        i++;
+        map++;
     }
 
     if (line != NULL)