diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/ctype.h | 11 | ||||
| -rw-r--r-- | src/include/ipxe/keys.h | 8 |
2 files changed, 17 insertions, 2 deletions
diff --git a/src/include/ctype.h b/src/include/ctype.h index 0d79ecd19..6fefd5d77 100644 --- a/src/include/ctype.h +++ b/src/include/ctype.h @@ -10,6 +10,17 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); /** + * Check if character is ASCII + * + * @v character Character + * @ret is_ascii Character is an ASCII character + */ +static inline int isascii ( int character ) { + + return ( character <= '\x7f' ); +} + +/** * Check if character is a decimal digit * * @v character ASCII character diff --git a/src/include/ipxe/keys.h b/src/include/ipxe/keys.h index 23356913d..49e65fa4c 100644 --- a/src/include/ipxe/keys.h +++ b/src/include/ipxe/keys.h @@ -54,6 +54,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); * The names are chosen to match those used by curses. The values are * chosen to facilitate easy conversion from a received ANSI escape * sequence to a KEY_XXX constant. + * + * Note that the values are exposed to iPXE commands via parse_key() + * and therefore may not be changed without breaking existing scripts. */ /** @@ -79,7 +82,8 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); * @v terminator ANSI escape sequence terminating character * @ret key Key value */ -#define KEY_ANSI( n, terminator ) ( KEY_MIN + ( (n) << 8 ) + (terminator) ) +#define KEY_ANSI( n, terminator ) \ + ( KEY_MIN + ( ( (n) + 1 ) << 8 ) + (terminator) ) /** * Extract ANSI escape sequence numeric portion @@ -87,7 +91,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); * @v key Key value (or relative key value) * @ret n ANSI escape sequence numeric portion, or 0 for none */ -#define KEY_ANSI_N( key ) ( ( (key) >> 8 ) & 0xff ) +#define KEY_ANSI_N( key ) ( ( ( (key) >> 8 ) & 0xff ) - 1 ) /** * Extract ANSI escape sequence terminating character |
