]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Improve code for recognising config lines.
authorNeil Brown <neilb@suse.de>
Fri, 19 May 2006 05:33:05 +0000 (05:33 +0000)
committerNeil Brown <neilb@suse.de>
Fri, 19 May 2006 05:33:05 +0000 (05:33 +0000)
No more magic numbers.

Signed-off-by: Neil Brown <neilb@suse.de>
config.c

index b083140b8f5c3139c3240fd26e3b661ca8878de5..ec9e3e16d82ba7e218e9a9cf55d45a9ababc496f 100644 (file)
--- a/config.c
+++ b/config.c
 char DefaultConfFile[] = CONFFILE;
 char DefaultAltConfFile[] = CONFFILE2;
 
-char *keywords[] = { "devices", "array",
-                    "mailaddr", "program", "mailfrom",
-                    "create",
-                    NULL };
+enum linetype { Devices, Array, Mailaddr, Mailfrom, Program, CreateDev, Homehost, LTEnd };
+char *keywords[] = {
+       [Devices]  = "devices",
+       [Array]    = "array",
+       [Mailaddr] = "mailaddr",
+       [Mailfrom] = "mailfrom",
+       [Program]  = "program",
+       [CreateDev]   = "create",
+       [Homehost] = "homehost",
+       [LTEnd]    = NULL
+};
 
 /*
  * match_keyword returns an index into the keywords array, or -1 for no match
@@ -589,22 +596,22 @@ void load_conffile(char *conffile)
        loaded = 1;
        while ((line=conf_line(f))) {
                switch(match_keyword(line)) {
-               case 0: /* DEVICE */
+               case Devices:
                        devline(line);
                        break;
-               case 1: /* ARRAY */
+               case Array:
                        arrayline(line);
                        break;
-               case 2: /* MAIL */
+               case Mailaddr:
                        mailline(line);
                        break;
-               case 3: /* PROGRAM */
-                       programline(line);
-                       break;
-               case 4: /* MAILFROM */
+               case Mailfrom:
                        mailfromline(line);
                        break;
-               case 5: /* CREATE */
+               case Program:
+                       programline(line);
+                       break;
+               case CreateDev:
                        createline(line);
                        break;
                default: