From patchwork Tue Sep 16 00:23:45 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [3/4] move the extract arguments functionality out From: Chandra Seetharaman X-Patchwork-Id: 22975 Message-Id: <20080916002345.21364.16183.sendpatchset@chandra-ubuntu> To: yaboot devel Date: Mon, 15 Sep 2008 17:23:45 -0700 This patch just extracts the ipv4 arguments extraction into a separate function. No fucntional change. This is just in preparation for the next patch which adds supports for ipv6. Signed-off-by: Chandra Seetharaman --- second/file.c | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) Index: yaboot.git_head/second/file.c =================================================================== --- yaboot.git_head.orig/second/file.c +++ yaboot.git_head/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 *imag 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 *imag 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)