Magellan Linux

Diff of /trunk/grubby/grubby.c

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

revision 3006 by niro, Tue Jun 27 14:14:00 2017 UTC revision 3007 by niro, Tue Jun 27 14:28:28 2017 UTC
# Line 4210  int addNewKernel(struct grubConfig *conf Line 4210  int addNewKernel(struct grubConfig *conf
4210   const char *newKernelArgs, const char *newKernelInitrd,   const char *newKernelArgs, const char *newKernelInitrd,
4211   const char **extraInitrds, int extraInitrdCount,   const char **extraInitrds, int extraInitrdCount,
4212   const char *newMBKernel, const char *newMBKernelArgs,   const char *newMBKernel, const char *newMBKernelArgs,
4213   const char *newDevTreePath)   const char *newDevTreePath, int newIndex)
4214  {  {
4215   struct singleEntry *new;   struct singleEntry *new, *entry, *prev = NULL;
4216   struct singleLine *newLine = NULL, *tmplLine = NULL, *masterLine = NULL;   struct singleLine *newLine = NULL, *tmplLine = NULL, *masterLine = NULL;
4217   int needs;   int needs;
4218   char *chptr;   char *chptr;
# Line 4242  int addNewKernel(struct grubConfig *conf Line 4242  int addNewKernel(struct grubConfig *conf
4242   new = malloc(sizeof(*new));   new = malloc(sizeof(*new));
4243   new->skip = 0;   new->skip = 0;
4244   new->multiboot = 0;   new->multiboot = 0;
  new->next = config->entries;  
4245   new->lines = NULL;   new->lines = NULL;
4246   config->entries = new;   entry = config->entries;
4247     for (unsigned int i = 0; i < newIndex; i++) {
4248     if (!entry)
4249     break;
4250     prev = entry;
4251     entry = entry->next;
4252     }
4253     new->next = entry;
4254    
4255     if (prev)
4256     prev->next = new;
4257     else
4258     config->entries = new;
4259    
4260   /* copy/update from the template */   /* copy/update from the template */
4261   needs = NEED_KERNEL | NEED_TITLE;   needs = NEED_KERNEL | NEED_TITLE;
# Line 4737  int main(int argc, const char **argv) Line 4748  int main(int argc, const char **argv)
4748   char *newDevTreePath = NULL;   char *newDevTreePath = NULL;
4749   char *newMBKernel = NULL;   char *newMBKernel = NULL;
4750   char *newMBKernelArgs = NULL;   char *newMBKernelArgs = NULL;
4751     int newIndex = 0;
4752   char *removeMBKernelArgs = NULL;   char *removeMBKernelArgs = NULL;
4753   char *removeMBKernel = NULL;   char *removeMBKernel = NULL;
4754   char *bootPrefix = NULL;   char *bootPrefix = NULL;
# Line 4843  int main(int argc, const char **argv) Line 4855  int main(int argc, const char **argv)
4855   {"set-default-index", 0, POPT_ARG_INT, &defaultIndex, 0,   {"set-default-index", 0, POPT_ARG_INT, &defaultIndex, 0,
4856   _("make the given entry index the default entry"),   _("make the given entry index the default entry"),
4857   _("entry-index")},   _("entry-index")},
4858     {"set-index", 0, POPT_ARG_INT, &newIndex, 0,
4859     _("use the given index when creating a new entry"),
4860     _("entry-index")},
4861   {"silo", 0, POPT_ARG_NONE, &configureSilo, 0,   {"silo", 0, POPT_ARG_NONE, &configureSilo, 0,
4862   _("configure silo bootloader")},   _("configure silo bootloader")},
4863   {"title", 0, POPT_ARG_STRING, &newKernelTitle, 0,   {"title", 0, POPT_ARG_STRING, &newKernelTitle, 0,
# Line 5258  int main(int argc, const char **argv) Line 5273  int main(int argc, const char **argv)
5273   if (addNewKernel(config, template, bootPrefix, newKernelPath,   if (addNewKernel(config, template, bootPrefix, newKernelPath,
5274   newKernelTitle, newKernelArgs, newKernelInitrd,   newKernelTitle, newKernelArgs, newKernelInitrd,
5275   (const char **)extraInitrds, extraInitrdCount,   (const char **)extraInitrds, extraInitrdCount,
5276   newMBKernel, newMBKernelArgs, newDevTreePath))   newMBKernel, newMBKernelArgs, newDevTreePath,
5277     newIndex))
5278   return 1;   return 1;
5279    
5280   if (numEntries(config) == 0) {   if (numEntries(config) == 0) {

Legend:
Removed from v.3006  
changed lines
  Added in v.3007