ruby-changes:4099
From: ko1@a...
Date: Sun, 24 Feb 2008 05:25:59 +0900 (JST)
Subject: [ruby-changes:4099] nobu - Ruby:r15589 (trunk): * ruby.c (proc_options): check if argument for -E exists.
nobu 2008-02-24 05:25:29 +0900 (Sun, 24 Feb 2008)
New Revision: 15589
Modified files:
trunk/ChangeLog
trunk/ruby.c
Log:
* ruby.c (proc_options): check if argument for -E exists.
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ruby.c?r1=15589&r2=15588&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=15589&r2=15588&diff_format=u
Index: ChangeLog
===================================================================
--- ChangeLog (revision 15588)
+++ ChangeLog (revision 15589)
@@ -1,3 +1,7 @@
+Sun Feb 24 05:25:26 2008 Nobuyoshi Nakada <nobu@r...>
+
+ * ruby.c (proc_options): check if argument for -E exists.
+
Sun Feb 24 05:09:43 2008 Nobuyoshi Nakada <nobu@r...>
* misc/ruby-style.el (ruby-style-label-indent): fix for labels inside
Index: ruby.c
===================================================================
--- ruby.c (revision 15588)
+++ ruby.c (revision 15589)
@@ -539,7 +539,7 @@
static int
proc_options(int argc, char **argv, struct cmdline_options *opt)
{
- int argc0 = argc;
+ int n, argc0 = argc;
const char *s;
if (argc == 0)
@@ -707,10 +707,7 @@
break;
case 'E':
- if (!*++s) {
- s = argv[1];
- argc--, argv++;
- }
+ if (!*++s) goto next_encoding;
goto encoding;
case 'K':
@@ -797,18 +794,17 @@
}
else if (strcmp("disable-gems", s) == 0)
opt->disable_gems = 1;
- else if (strcmp("encoding", s) == 0) {
- if (!--argc || !(s = *++argv)) {
- noencoding:
- rb_raise(rb_eRuntimeError, "missing argument for --encoding");
+ else if (strncmp("encoding", s, n = 8) == 0 && (!s[n] || s[n] == '=')) {
+ s += n;
+ if (!*s++) {
+ next_encoding:
+ if (!--argc || !(s = *++argv)) {
+ rb_raise(rb_eRuntimeError, "missing argument for --encoding");
+ }
}
encoding:
opt->ext.enc.name = rb_str_new2(s);
}
- else if (strncmp("encoding=", s, 9) == 0) {
- if (!*(s += 9)) goto noencoding;
- goto encoding;
- }
else if (strcmp("version", s) == 0)
opt->version = 1;
else if (strcmp("verbose", s) == 0) {
--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/