--- trunk/grubby/grubby.c 2012/10/01 12:39:50 1940 +++ trunk/grubby/grubby.c 2013/02/20 14:06:30 2058 @@ -138,6 +138,7 @@ findConfigFunc findConfig; writeLineFunc writeLine; struct keywordTypes * keywords; + int caseInsensitive; int defaultIsIndex; int defaultIsVariable; int defaultSupportSaved; @@ -496,6 +497,7 @@ struct configFileInfo extlinuxConfigType = { .defaultConfig = "/boot/extlinux/extlinux.conf", .keywords = extlinuxKeywords, + .caseInsensitive = 1, .entryStart = LT_TITLE, .needsBootPrefix = 1, .maxTitleLength = 255, @@ -632,8 +634,13 @@ static enum lineType_e getTypeByKeyword(char * keyword, struct configFileInfo * cfi) { for (struct keywordTypes *kw = cfi->keywords; kw->key; kw++) { - if (!strcmp(keyword, kw->key)) - return kw->type; + if (cfi->caseInsensitive) { + if (!strcasecmp(keyword, kw->key)) + return kw->type; + } else { + if (!strcmp(keyword, kw->key)) + return kw->type; + } } return LT_UNKNOWN; } @@ -1773,10 +1780,14 @@ /* check all the lines matching checkType */ for (line = entry->lines; line; line = line->next) { - line = getLineByType(entry->multiboot && checkType == LT_KERNEL - ? LT_KERNEL|LT_KERNEL_EFI|LT_MBMODULE|LT_HYPER - : checkType, line); - if (!line) break; /* not found in this entry */ + enum lineType_e ct = checkType; + if (entry->multiboot && checkType == LT_KERNEL) + ct = LT_KERNEL|LT_KERNEL_EFI|LT_MBMODULE|LT_HYPER; + else if (checkType & LT_KERNEL) + ct = checkType | LT_KERNEL_EFI; + line = getLineByType(ct, line); + if (!line) + break; /* not found in this entry */ if (line && line->type != LT_MENUENTRY && line->numElements >= 2) { @@ -3746,7 +3757,7 @@ memset(array, '\0', sizeof (array)); size = backtrace(array, 40); - fprintf(stderr, "grubby recieved SIGSEGV! Backtrace (%ld):\n", + fprintf(stderr, "grubby received SIGSEGV! Backtrace (%ld):\n", (unsigned long)size); backtrace_symbols_fd(array, size, STDERR_FILENO); exit(1); @@ -3844,7 +3855,7 @@ { "initrd", 0, POPT_ARG_STRING, &newKernelInitrd, 0, _("initrd image for the new kernel"), _("initrd-path") }, { "extra-initrd", 'i', POPT_ARG_STRING, NULL, 'i', - _("auxilliary initrd image for things other than the new kernel"), _("initrd-path") }, + _("auxiliary initrd image for things other than the new kernel"), _("initrd-path") }, { "lilo", 0, POPT_ARG_NONE, &configureLilo, 0, _("configure lilo bootloader") }, { "make-default", 0, 0, &makeDefault, 0,