* [PATCH] readline: keys should be unsigned char consistently
@ 2009-12-18 0:23 Robert Schwebel
0 siblings, 0 replies; only message in thread
From: Robert Schwebel @ 2009-12-18 0:23 UTC (permalink / raw)
To: barebox
When building the sandbox, I get these warnings:
lib/readline.c: In function 'readline':
lib/readline.c:264: warning: case label value is less than minimum value for type
lib/readline.c:274: warning: case label value is less than minimum value for type
lib/readline.c:290: warning: case label value is less than minimum value for type
Make keys unsigned char consistently.
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
---
commands/edit.c | 2 +-
include/readkey.h | 12 ++++++------
lib/readkey.c | 4 ++--
lib/readline.c | 10 +++++-----
4 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/commands/edit.c b/commands/edit.c
index 6503edf..4f4ba4f 100644
--- a/commands/edit.c
+++ b/commands/edit.c
@@ -394,7 +394,7 @@ static int do_edit(cmd_tbl_t * cmdtp, int argc, char *argv[])
int lastscrcol;
int i;
int linepos;
- char c;
+ unsigned char c;
if (argc != 2)
return COMMAND_ERROR_USAGE;
diff --git a/include/readkey.h b/include/readkey.h
index d27f0b4..1f149b5 100644
--- a/include/readkey.h
+++ b/include/readkey.h
@@ -14,15 +14,15 @@
#define KEY_ERASE_LINE CTL_CH('x')
#define KEY_INSERT CTL_CH('o')
#define KEY_CLEAR_SCREEN CTL_CH('l')
-#define KEY_DEL7 (char)127
-#define KEY_END (char)133 // Cursor Key End
-#define KEY_PAGEUP (char)135 // Cursor Key Page Up
-#define KEY_PAGEDOWN (char)136 // Cursor Key Page Down
-#define KEY_DEL (char)137 // Cursor Key Del
+#define KEY_DEL7 (unsigned char)127
+#define KEY_END (unsigned char)133 // Cursor Key End
+#define KEY_PAGEUP (unsigned char)135 // Cursor Key Page Up
+#define KEY_PAGEDOWN (unsigned char)136 // Cursor Key Page Down
+#define KEY_DEL (unsigned char)137 // Cursor Key Del
#define ANSI_CLEAR_SCREEN "\e[2J\e[;H"
-char read_key(void);
+unsigned char read_key(void);
#endif /* READKEY_H */
diff --git a/lib/readkey.c b/lib/readkey.c
index 5937fd0..3efe5c4 100644
--- a/lib/readkey.c
+++ b/lib/readkey.c
@@ -28,7 +28,7 @@
struct esc_cmds {
const char *seq;
- char val;
+ unsigned char val;
};
static const struct esc_cmds esccmds[] = {
@@ -52,7 +52,7 @@ static const struct esc_cmds esccmds[] = {
{"[6~", KEY_PAGEDOWN},// Cursor Key Page Down
};
-char read_key(void)
+unsigned char read_key(void)
{
char c;
char esc[5];
diff --git a/lib/readline.c b/lib/readline.c
index 750da3b..73cf046 100644
--- a/lib/readline.c
+++ b/lib/readline.c
@@ -17,8 +17,8 @@
#define MAX_CMDBUF_SIZE 256
#define CTL_BACKSPACE ('\b')
-#define DEL ((char)255)
-#define DEL7 ((char)127)
+#define DEL ((unsigned char)255)
+#define DEL7 ((unsigned char)127)
#define CREAD_HIST_CHAR ('!')
#define getcmd_putch(ch) putchar(ch)
@@ -137,8 +137,8 @@ static char* hist_next(void)
} \
}
-static void cread_add_char(char ichar, int insert, unsigned long *num,
- unsigned long *eol_num, char *buf, unsigned long len)
+static void cread_add_char(unsigned char ichar, int insert, unsigned long *num,
+ unsigned long *eol_num, unsigned char *buf, unsigned long len)
{
unsigned long wlen;
@@ -328,7 +328,7 @@ int readline(const char *prompt, char *buf, int len)
continue;
}
default:
- if (isascii(ichar) && isprint(ichar))
+ if (isascii((int)ichar) && isprint((int)ichar))
cread_add_char(ichar, insert, &num, &eol_num, buf, len);
break;
}
--
1.5.6.5
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-12-18 0:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-18 0:23 [PATCH] readline: keys should be unsigned char consistently Robert Schwebel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox