Shawn Landden <shawn <at> churchofgit.com> writes: > void strv_free(char **l) { > - strv_clear(l); > + char **k; > + > + if (!l) > + return; > + > + for (k = l; *k; k++) > + free(*k); > + > free(l); > } What are you trying to achieve here? I see no point in optimizing out the *l = NULL from strv_clear.
> + entry->linux_loc = l + strspn(l, WHITESPACE); > + else if ((l = startswith(m, "initrd "))) > + entry->initrd = l + strspn(l, WHITESPACE); You need to support more than one initrd per kernel, see https://wiki.archlinux.org/index.php/Microcode for why. Also, I am pretty sure you can have a initrd=/path/to/initrd in the kernel options entry. Since the efi bootloader just appends each given initrd to the kernel command line. All in all I am wondering why you need a rbtree for all this in the first place? A simple hashmap should do just fine. Also, you're not taking multi-boot into account (the machine-id field). You're just discriminating based on the kernel version, but different installations could have the same version field. Jan _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel