From: Pavel Pisa <pp...@pikron.com> cmdline argument is returned without option name. The calls to command line parsing can be called earlier before BSS is cleaned out. --- c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c b/c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c index f8a7182..d585e31 100644 --- a/c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c +++ b/c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c @@ -19,8 +19,8 @@ #include <bsp/vc.h> #define MAX_CMDLINE_LENGTH 1024 -static int rpi_cmdline_ready; -static char rpi_cmdline_cached[MAX_CMDLINE_LENGTH]; +static int rpi_cmdline_ready = -1; +static char rpi_cmdline_cached[MAX_CMDLINE_LENGTH] = "force .data placement"; static bcm2835_get_cmdline_entries rpi_cmdline_entries; const char *rpi_cmdline_get_raw(void) @@ -32,7 +32,7 @@ const char *rpi_cmdline_get_raw(void) const char *rpi_cmdline_get_cached(void) { - if (!rpi_cmdline_ready) { + if (rpi_cmdline_ready <= 0) { const char *line = rpi_cmdline_get_raw(); strncpy(rpi_cmdline_cached, line, MAX_CMDLINE_LENGTH - 1); rpi_cmdline_cached[MAX_CMDLINE_LENGTH - 1] = 0; @@ -43,5 +43,9 @@ const char *rpi_cmdline_get_cached(void) const char *rpi_cmdline_get_arg(const char* arg) { - return strstr (rpi_cmdline_get_cached(), arg); + const char *opt_data; + opt_data = strstr(rpi_cmdline_get_cached(), arg); + if (opt_data) + opt_data += strlen(arg); + return opt_data; } -- 1.9.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel