From 3c52010c68c3d554979cca22a529aed15794eb80 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Wed, 16 Apr 2008 03:26:56 +0400 Subject: [PATCH] setarch: provide backwards compatibility The getopt_long(3) use introduced by commit 8df90dec2bfd8c876ddd4cea010f40550d4e24aa broke backwards compatibility. Old behavior: $ i386 uname -m i686 New behavior: $ i386 uname -m i386: invalid option -- m Linux Traditional method to fix it is to disable program arguments reordering by prefixing getopt_long's optstring with '+' character. Signed-off-by: Dmitry V. Levin Signed-off-by: Karel Zak --- sys-utils/setarch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys-utils/setarch.c b/sys-utils/setarch.c index aa7c8109..bc6a12d0 100644 --- a/sys-utils/setarch.c +++ b/sys-utils/setarch.c @@ -236,7 +236,7 @@ int main(int argc, char *argv[]) } #endif - while ((c = getopt_long(argc, argv, "hv3BFILRSTXZ", longopts, NULL)) != -1) { + while ((c = getopt_long(argc, argv, "+hv3BFILRSTXZ", longopts, NULL)) != -1) { switch (c) { case 'h': show_help(); -- 2.39.5