Add kboot.conf parser
[petitboot] / devices / udev-helper.c
index c113e55432177217c7fc144ded1b9e4ddc11ce69..1db8a26d6beb9025903e768356742fc9b9fdf0d5 100644 (file)
@@ -26,6 +26,7 @@
 
 extern struct parser native_parser;
 extern struct parser yaboot_parser;
+extern struct parser kboot_parser;
 static FILE *logf;
 static int sock;
 
@@ -33,6 +34,7 @@ static int sock;
 static struct parser *parsers[] = {
        &native_parser,
        &yaboot_parser,
+       &kboot_parser,
        NULL
 };
 
@@ -48,7 +50,7 @@ static void iterate_parsers(const char *devpath, const char *mountpoint)
                log("\ttrying parser '%s'\n", parsers[i]->name);
                /* just use a dummy device path for now */
                if (parsers[i]->parse(devpath, mountpoint))
-                       return;
+                       /*return*/;
        }
        log("\tno boot_options found\n");
 }
@@ -568,3 +570,19 @@ int main(int argc, char **argv)
        }
        return rc;
 }
+
+/* convenience function for parsers */
+char *join_paths(const char *a, const char *b)
+{
+       char *full_path;
+
+       full_path = malloc(strlen(a) + strlen(b) + 2);
+
+       strcpy(full_path, a);
+       if (b[0] != '/')
+               strcat(full_path, "/");
+       strcat(full_path, b);
+
+       return full_path;
+}
+