diff --git a/ChangeLog b/ChangeLog index 15fc2e527f..d20cd2b0fc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Mar 25 16:32:56 2008 Nobuyoshi Nakada + + * ruby.c (proc_options): checks if the word is empty. + + * ruby.c (process_options): typo fixed. [ruby-dev:34122] + Tue Mar 25 15:26:30 2008 Nobuyoshi Nakada * compile.c (defined_expr): false short-circuit destination label may diff --git a/ruby.c b/ruby.c index 7e505ad11d..075c3d057a 100644 --- a/ruby.c +++ b/ruby.c @@ -842,14 +842,14 @@ proc_options(int argc, char **argv, struct cmdline_options *opt) } else if (strncmp("enable", s, n = 6) == 0 && (!s[n] || s[n] == '-' || s[n] == '=')) { - if (!(s += n + 1)[-1] && (!--argc || !(s = *++argv))) { + if ((s += n + 1)[-1] ? !*s : (!--argc || !(s = *++argv))) { rb_raise(rb_eRuntimeError, "missing argument for --enable"); } ruby_each_words(s, enable_option, &opt->disable); } else if (strncmp("disable", s, n = 7) == 0 && (!s[n] || s[n] == '-' || s[n] == '=')) { - if (!(s += n + 1)[-1] && (!--argc || !(s = *++argv))) { + if ((s += n + 1)[-1] ? !*s : (!--argc || !(s = *++argv))) { rb_raise(rb_eRuntimeError, "missing argument for --disable"); } ruby_each_words(s, disable_option, &opt->disable); @@ -1051,7 +1051,7 @@ process_options(VALUE arg) process_sflag(opt); ruby_init_loadpath(); - ruby_init_gems(!(opt->disable && DISABLE_BIT(gems))); + ruby_init_gems(!(opt->disable & DISABLE_BIT(gems))); parser = rb_parser_new(); if (opt->yydebug) rb_parser_set_yydebug(parser, Qtrue); if (opt->ext.enc.name != 0) {