From 61f8d668d03ca5580eab124d4901da4e1e889d25 Mon Sep 17 00:00:00 2001 From: Josh Oguin Date: Wed, 19 Nov 2014 14:26:11 -0600 Subject: libbsp/shared/bspinit.c: Document assumption of NULL returned --- c/src/lib/libbsp/shared/bspinit.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/c/src/lib/libbsp/shared/bspinit.c b/c/src/lib/libbsp/shared/bspinit.c index 86c950c548..b524389de2 100644 --- a/c/src/lib/libbsp/shared/bspinit.c +++ b/c/src/lib/libbsp/shared/bspinit.c @@ -37,12 +37,10 @@ rtems_task Init (rtems_task_argument arg) char** argv = NULL; int result = -124; - if (boot_cmdline) - { + if (boot_cmdline) { cmdline = malloc (strlen (boot_cmdline) + 1); - if (cmdline) - { + if (cmdline) { strcpy (cmdline, boot_cmdline); command = cmdline; @@ -50,8 +48,7 @@ rtems_task Init (rtems_task_argument arg) /* * Break the line up into arguments with "" being ignored. */ - while (true) - { + while (true) { command = strtok (command, " \t\r\n"); if (command == NULL) break; @@ -59,22 +56,25 @@ rtems_task Init (rtems_task_argument arg) command = '\0'; } + /* + * If there are arguments, allocate enough memory for the argv + * array to be passed into main(). + * + * NOTE: If argc is 0, then argv will be NULL. + */ argv = calloc (argc, sizeof (char*)); - if (argv) - { + if (argv) { int a; command = cmdline; argv[0] = command; - for (a = 1; a < argc; a++) - { + for (a = 1; a < argc; a++) { command += strlen (command) + 1; argv[a] = command; } - } - else + } else argc = 0; } } -- cgit v1.2.3