From 378f74227ea752dbfcf58a4a45782979589c9a13 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 15 Jan 2005 05:58:02 +0000 Subject: * ruby.c (proc_options): ignore trailing CRs at the end of short options as well as long options. fixed: [ruby-core:04232] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 ++++++- ruby.c | 15 +++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index b897f6976e..a2d13ad388 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,12 @@ +Sat Jan 15 14:57:22 2005 Nobuyoshi Nakada + + * ruby.c (proc_options): ignore trailing CRs at the end of short + options as well as long options. fixed: [ruby-core:04232] + Sat Jan 15 13:44:22 2005 Kouhei Sutou * lib/rss/rss.rb (RSS::VERSION): 0.1.2 -> 0.1.3. - + * lib/rss/rss.rb: accept inheritance. [ruby-talk:126104] Wed Jan 12 00:36:29 2005 Nobuyoshi Nakada diff --git a/ruby.c b/ruby.c index 8f39204e1f..773ef7b814 100644 --- a/ruby.c +++ b/ruby.c @@ -683,9 +683,20 @@ proc_options(argc, argv) } break; + case '\r': + if (!s[1]) break; + default: - fprintf(stderr, "%s: invalid option -%c (-h will show valid options)\n", - origargv[0], *s); + { + const char *format; + if (ISPRINT(*s)) { + format = "%s: invalid option -%c (-h will show valid options)\n"; + } + else { + format = "%s: invalid option -\\%03o (-h will show valid options)\n"; + } + fprintf(stderr, format, origargv[0], (int)(unsigned char)*s); + } exit(2); case 0: -- cgit v1.2.3