From: Dmitry V. Levin Date: Tue, 15 Apr 2008 23:26:56 +0000 (+0400) Subject: setarch: provide backwards compatibility X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c52010c68c3d554979cca22a529aed15794eb80;p=util-linux 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 --- 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();