diff options
| author | Michael Brown | 2012-03-27 20:49:12 +0200 |
|---|---|---|
| committer | Michael Brown | 2012-03-29 01:21:19 +0200 |
| commit | 0b1fe005b36ebc3af8de0d736e4a1227ba4580f8 (patch) | |
| tree | 1e20637fc73d82834b9fb0729371dfeee81adb32 /src/core | |
| parent | [readline] Accept Ctrl-U for "delete to start of line" (diff) | |
| download | ipxe-0b1fe005b36ebc3af8de0d736e4a1227ba4580f8.tar.gz ipxe-0b1fe005b36ebc3af8de0d736e4a1227ba4580f8.tar.xz ipxe-0b1fe005b36ebc3af8de0d736e4a1227ba4580f8.zip | |
[parseopt] Allow "prompt" command to accept character literals for --key
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/parseopt.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/core/parseopt.c b/src/core/parseopt.c index 2739bd87b..57140690b 100644 --- a/src/core/parseopt.c +++ b/src/core/parseopt.c @@ -26,7 +26,6 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include <errno.h> #include <getopt.h> #include <ipxe/netdevice.h> -#include <ipxe/image.h> #include <ipxe/parseopt.h> /** @file @@ -130,6 +129,25 @@ int parse_flag ( const char *text __unused, int *flag ) { } /** + * Parse key + * + * @v text Text + * @ret key Key + * @ret rc Return status code + */ +int parse_key ( const char *text, unsigned int *key ) { + + /* Interpret single characters as being a literal key character */ + if ( text[0] && ! text[1] ) { + *key = text[0]; + return 0; + } + + /* Otherwise, interpret as an integer */ + return parse_integer ( text, key ); +} + +/** * Print command usage message * * @v cmd Command descriptor |
