diff options
author | Josh Oguin <josh.oguin@oarcorp.com> | 2014-11-19 14:26:11 -0600 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@oarcorp.com> | 2014-11-26 07:51:57 -0600 |
commit | 61f8d668d03ca5580eab124d4901da4e1e889d25 (patch) | |
tree | 3040c0c240da832fdff0f438f7ba0f1b562a0512 | |
parent | apimutex.c: Add _Assert for NULL pointer access (diff) | |
download | rtems-61f8d668d03ca5580eab124d4901da4e1e889d25.tar.bz2 |
libbsp/shared/bspinit.c: Document assumption of NULL returned
-rw-r--r-- | c/src/lib/libbsp/shared/bspinit.c | 24 |
1 files 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; } } |