Magellan Linux

Diff of /trunk/grubby/grubby.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2257 by niro, Mon Oct 21 14:01:48 2013 UTC revision 2258 by niro, Mon Oct 21 14:02:25 2013 UTC
# Line 1066  static int getNextLine(char ** bufPtr, s Line 1066  static int getNextLine(char ** bufPtr, s
1066      return 0;      return 0;
1067  }  }
1068    
1069    static int isnumber(const char *s)
1070    {
1071        int i;
1072        for (i = 0; s[i] != '\0'; i++)
1073     if (s[i] < '0' || s[i] > '9')
1074        return 0;
1075        return i;
1076    }
1077    
1078  static struct grubConfig * readConfig(const char * inName,  static struct grubConfig * readConfig(const char * inName,
1079        struct configFileInfo * cfi) {        struct configFileInfo * cfi) {
1080      int in;      int in;
# Line 1362  static struct grubConfig * readConfig(co Line 1371  static struct grubConfig * readConfig(co
1371      char *defTitle = cfi->getEnv(cfg->cfi, "saved_entry");      char *defTitle = cfi->getEnv(cfg->cfi, "saved_entry");
1372      if (defTitle) {      if (defTitle) {
1373   int index = 0;   int index = 0;
1374   entry = findEntryByTitle(cfg, defTitle, &index);   if (isnumber(defTitle)) {
1375        index = atoi(defTitle);
1376        entry = findEntryByIndex(cfg, index);
1377     } else {
1378        entry = findEntryByTitle(cfg, defTitle, &index);
1379     }
1380   if (entry)   if (entry)
1381      cfg->defaultImage = index;      cfg->defaultImage = index;
1382      }      }
# Line 1411  static struct grubConfig * readConfig(co Line 1425  static struct grubConfig * readConfig(co
1425   char *defTitle = cfi->getEnv(cfg->cfi, "saved_entry");   char *defTitle = cfi->getEnv(cfg->cfi, "saved_entry");
1426   if (defTitle) {   if (defTitle) {
1427      int index = 0;      int index = 0;
1428      entry = findEntryByTitle(cfg, defTitle, &index);      if (isnumber(defTitle)) {
1429     index = atoi(defTitle);
1430     entry = findEntryByIndex(cfg, index);
1431        } else {
1432     entry = findEntryByTitle(cfg, defTitle, &index);
1433        }
1434      if (entry)      if (entry)
1435   cfg->defaultImage = index;   cfg->defaultImage = index;
1436   }   }
# Line 2062  struct singleEntry * findTemplate(struct Line 2081  struct singleEntry * findTemplate(struct
2081      char *defTitle = cfg->cfi->getEnv(cfg->cfi, "saved_entry");      char *defTitle = cfg->cfi->getEnv(cfg->cfi, "saved_entry");
2082      if (defTitle) {      if (defTitle) {
2083   int index = 0;   int index = 0;
2084   entry = findEntryByTitle(cfg, defTitle, &index);   if (isnumber(defTitle)) {
2085        index = atoi(defTitle);
2086        entry = findEntryByIndex(cfg, index);
2087     } else {
2088        entry = findEntryByTitle(cfg, defTitle, &index);
2089     }
2090     if (entry)
2091        cfg->defaultImage = index;
2092      }      }
2093   }   }
2094      } else if (cfg->defaultImage > -1) {      } else if (cfg->defaultImage > -1) {

Legend:
Removed from v.2257  
changed lines
  Added in v.2258