From 0cd2d8a70e528c6f4dc4f6650e819a7d5a3d177d Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 7 Sep 2004 05:09:24 +0000 Subject: [PATCH] (main): Emulate Solaris 8 and 9 "sort -y", so that "sort -y abc" is like "sort abc" whereas "sort -y 100" is like plain "sort". --- src/sort.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/sort.c b/src/sort.c index 014beb7..a9cf0c1 100644 --- a/src/sort.c +++ b/src/sort.c @@ -2472,9 +2472,23 @@ main (int argc, char **argv) break; case 'y': - /* Accept and ignore e.g. -y0 for compatibility with Solaris - 2.x through Solaris 7. -y is marked as obsolete starting - with Solaris 8. */ + /* Accept and ignore e.g. -y0 for compatibility with Solaris 2.x + through Solaris 7. It is also accepted by many non-Solaris + "sort" implementations, e.g., AIX 5.2, HP-UX 11i v2, IRIX 6.5. + -y is marked as obsolete starting with Solaris 8 (1999), but is + still accepted as of Solaris 10 prerelease (2004). + + Solaris 2.5.1 "sort -y 100" reads the input file "100", but + emulate Solaris 8 and 9 "sort -y 100" which ignores the "100", + and which in general ignores the argument after "-y" if it + consists entirely of digits (it can even be empty). */ + if (!optarg && optind != argc) + { + char const *p; + for (p = argv[optind]; ISDIGIT (*p); p++) + continue; + optind += !*p; + } break; case 'z': -- 2.7.4