From 8053b7f3b10d686dd5296f1f5093b635bef652a6 Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 19 Jul 2000 08:04:52 +0000 Subject: [PATCH] matz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ bignum.c | 2 +- eval.c | 8 ++++++-- lib/cgi-lib.rb | 16 +++++++--------- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 35a1bea350..d1fb0f7d57 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Jul 19 15:14:04 2000 Yukihiro Matsumoto + + * bignum.c (bigdivrem): should use rb_int2big(), not rb_uint2big(). + Tue Jul 18 14:58:30 2000 Yukihiro Matsumoto * eval.c (ruby_options): should treat SystemExit etc. properly. diff --git a/bignum.c b/bignum.c index 9d58e69f9e..cf9128d0b3 100644 --- a/bignum.c +++ b/bignum.c @@ -804,7 +804,7 @@ bigdivrem(x, y, divp, modp) } RBIGNUM(z)->sign = RBIGNUM(x)->sign==RBIGNUM(y)->sign; if (!RBIGNUM(x)->sign) t2 = -(long)t2; - if (modp) *modp = rb_uint2big(t2); + if (modp) *modp = rb_int2big((long)t2); if (divp) *divp = z; return; } diff --git a/eval.c b/eval.c index 24a7298387..b9043f3502 100644 --- a/eval.c +++ b/eval.c @@ -92,9 +92,9 @@ static int scope_vmode; int ruby_safe_level = 0; /* safe-level: 0 - strings from streams/environment/ARGV are tainted (default) - 1 - no dangerous operation by tainted string + 1 - no dangerous operation by tainted value 2 - process/file operations prohibited - 3 - all genetated strings are tainted + 3 - all genetated objects are tainted 4 - no global (non-tainted) variable modification/no direct output */ @@ -5223,6 +5223,10 @@ rb_mod_modfunc(argc, argv, module) ID id; NODE *body; + if (TYPE(module) != T_MODULE) { + rb_raise(rb_eTypeError, "module_function must be called for modules"); + } + if (argc == 0) { SCOPE_SET(SCOPE_MODFUNC); return module; diff --git a/lib/cgi-lib.rb b/lib/cgi-lib.rb index bf04601238..ffe3fcf367 100644 --- a/lib/cgi-lib.rb +++ b/lib/cgi-lib.rb @@ -121,7 +121,7 @@ class CGI < SimpleDelegator RFC822_MONTHS = %w[ Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ] # make rfc1123 date string - def rfc1123_date(time) + def CGI::rfc1123_date(time) t = time.clone.gmtime return format("%s, %.2d %s %d %.2d:%.2d:%.2d GMT", RFC822_DAYS[t.wday], t.day, RFC822_MONTHS[t.month-1], t.year, @@ -129,22 +129,20 @@ class CGI < SimpleDelegator end # escape url encode - def escape(str) + def CGI::escape(str) str.gsub(/[^a-zA-Z0-9_\-.]/n){ sprintf("%%%02X", $&.unpack("C")[0]) } end # unescape url encoded - def unescape(str) + def CGI::unescape(str) str.gsub(/\+/, ' ').gsub(/%([0-9a-fA-F]{2})/){ [$1.hex].pack("c") } end # escape HTML - def escapeHTML(str) + def CGI::escapeHTML(str) str.gsub(/&/, "&").gsub(/\"/, """).gsub(/>/, ">").gsub(/