diff options
Diffstat (limited to 'cpukit/libmisc/bspcmdline/bspcmdline_getparamrhs.c')
-rw-r--r-- | cpukit/libmisc/bspcmdline/bspcmdline_getparamrhs.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/cpukit/libmisc/bspcmdline/bspcmdline_getparamrhs.c b/cpukit/libmisc/bspcmdline/bspcmdline_getparamrhs.c new file mode 100644 index 0000000000..38269dc44a --- /dev/null +++ b/cpukit/libmisc/bspcmdline/bspcmdline_getparamrhs.c @@ -0,0 +1,48 @@ +/* + * COPYRIGHT (c) 1989-2009. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <string.h> + +#include <rtems/bspcmdline.h> + +const char *rtems_bsp_cmdline_get_param_rhs( + const char *name, + char *value, + size_t length +) +{ + const char *p; + const char *rhs; + char *d; + + p = rtems_bsp_cmdline_get_param( name, value, length ); + if ( !p ) + return NULL; + + rhs = &p[strlen(name)]; + if ( *rhs != '=' ) + return NULL; + + rhs++; + if ( *rhs == '\"' ) + rhs++; + for ( d=value ; *rhs ; ) + *d++ = *rhs++; + if ( *(d-1) == '\"' ) + d--; + *d = '\0'; + + return value; +} |