X-Git-Url: http://git.ozlabs.org/?p=yaboot.git;a=blobdiff_plain;f=second%2Ffile.c;h=875cad807063efaac91c729648786a470d4e938c;hp=e5135995a74e33fb73ebec5e318b8baa71c5f033;hb=3638d19d001798b1b3dabd486501dd00b6f5b492;hpb=98eacaa1983cde1532e80e67466dfa615e5564a2 diff --git a/second/file.c b/second/file.c index e513599..875cad8 100644 --- a/second/file.c +++ b/second/file.c @@ -62,19 +62,14 @@ scopy(char **dest, char **source) } /* - * Extract all the arguments provided in the imagepath and fill it in result. + * Extract all the ipv4 arguments from the bootpath provided and fill result * Returns 1 on success, 0 on failure. */ static int -extract_args_from_netdev_path(char *imagepath, struct boot_fspec_t *result) +extract_ipv4_args(char *imagepath, struct boot_fspec_t *result) { char *tmp, *args, *str, *start; - DEBUG_F("imagepath = %s\n", imagepath); - - if (!imagepath) - return 1; - args = strrchr(imagepath, ':'); if (!args) return 1; @@ -133,6 +128,24 @@ extract_args_from_netdev_path(char *imagepath, struct boot_fspec_t *result) if (!result->addl_params) return 0; } + return 1; +} + +/* + * Extract all the arguments provided in the imagepath and fill it in result. + * Returns 1 on success, 0 on failure. + */ +static int +extract_args_from_netdev_path(char *imagepath, struct boot_fspec_t *result) +{ + int ret; + + DEBUG_F("imagepath = %s\n", imagepath); + + if (!imagepath) + return 1; + + ret = extract_ipv4_args(imagepath, result); DEBUG_F("siaddr = <%s>\n", result->siaddr); DEBUG_F("file = <%s>\n", result->file); @@ -141,7 +154,7 @@ extract_args_from_netdev_path(char *imagepath, struct boot_fspec_t *result) DEBUG_F("bootp_retries = <%s>\n", result->bootp_retries); DEBUG_F("tftp_retries = <%s>\n", result->tftp_retries); DEBUG_F("addl_params = <%s>\n", result->addl_params); - return 1; + return ret; } static char *netdev_path_to_dev(const char *path)