From 2a6f96907d33d3fa0c71f2fa659d5a3b80c40c69 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 4 Jan 2010 23:13:01 -0500 Subject: [PATCH] fix local storage of getopt() The getopt() function returns an int, not a char. On systems where the default char is unsigned (like ppc), we get weird behavior where -1 is truncated to 0xff but compared to (int)-1. URL: http://bugs.gentoo.org/299386 Signed-off-by: Mike Frysinger --- e2fsck/iscan.c | 2 +- misc/e2freefrag.c | 3 ++- tests/progs/test_rel.c | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/e2fsck/iscan.c b/e2fsck/iscan.c index e9fa076..84e2cc1 100644 --- a/e2fsck/iscan.c +++ b/e2fsck/iscan.c @@ -51,7 +51,7 @@ static void usage(void) static void PRS(int argc, char *argv[]) { int flush = 0; - char c; + int c; #ifdef MTRACE extern void *mallwatch; #endif diff --git a/misc/e2freefrag.c b/misc/e2freefrag.c index edbe0bb..1692b9b 100644 --- a/misc/e2freefrag.c +++ b/misc/e2freefrag.c @@ -258,7 +258,8 @@ int main(int argc, char *argv[]) ext2_filsys fs = NULL; char *device_name; char *progname; - char c, *end; + char *end; + int c; add_error_table(&et_ext2_error_table); progname = argv[0]; diff --git a/tests/progs/test_rel.c b/tests/progs/test_rel.c index e6997b6..954a722 100644 --- a/tests/progs/test_rel.c +++ b/tests/progs/test_rel.c @@ -713,7 +713,7 @@ void main(int argc, char **argv) int retval; int sci_idx; const char *usage = "Usage: test_rel [-R request] [-f cmd_file]"; - char c; + int c; char *request = 0; int exit_status = 0; char *cmd_file = 0; -- 1.6.6