summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc/bspcmdline/bspcmdline_getparamrhs.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libmisc/bspcmdline/bspcmdline_getparamrhs.c')
-rw-r--r--cpukit/libmisc/bspcmdline/bspcmdline_getparamrhs.c48
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;
+}