[#4654] signleton_methods / methods / public_methods - weirdness? — Johan Holmberg <holmberg@...>
[#4666] Getting a hex representation for a Numeric — "Zev Blut" <rubyzbibd@...>
Hello,
[#4670] ruby 1.8.3 preview1 plan — Yukihiro Matsumoto <matz@...>
Hi,
[#4690] test failures for stable-snapshot 09/04/2005 — noreply@...
Bugs item #1762, was opened at 10-04-2005 20:46
Hello.
[#4709] BNF-like grammar specified DIRECTLY in Ruby — Eric Mahurin <eric_mahurin@...>
Hello everybody,
[#4712] Segfault in zlib? — Nathaniel Talbott <ntalbott@...>
I'm using rubyzip (latest gem version) and zlib (1.2.2) to do a bunch
[#4736] Trivial speedup in Array#zip — Mauricio Fern疣dez <batsman.geo@...>
[#4745] Win32: Ruby & APR; build problems for Ruby Subversion SWIG bindings — Erik Huelsmann <ehuels@...>
Having taken upon me the task to provide a Windows build for
On 4/20/05, Erik Huelsmann <ehuels@gmail.com> wrote:
Hi Austin,
Hi,
On 4/24/05, nobu.nokada@softhome.net <nobu.nokada@softhome.net> wrote:
Hi,
> > > Ruby is just using AC_TYPE_UID_T. So, using typedef for them,
Hi,
On 4/26/05, nobu.nokada@softhome.net <nobu.nokada@softhome.net> wrote:
As promised, I attached a patch to eliminate the compile problems
Hi,
Thanks for the quick response!
Hi,
On 5/14/05, nobu.nokada@softhome.net <nobu.nokada@softhome.net> wrote:
[#4751] Illegal regexp causes segfault — Andrew Walrond <andrew@...>
irb(main):058:0> a = /\[([^]]*)\]/
Andrew Walrond, April 22:
In article <200504221210.38231.andrew@walrond.org>,
>>>>> "T" == Tanaka Akira <akr@m17n.org> writes:
[#4774] enhanced $0 modification — Evan Webb <evanwebb@...>
The attached patch allows for ruby to use more of the available stack
Hi,
[#4775] profiler.rb Schroedinbug — C Erler <erlercw@...>
A ruby program with the single instruction "require 'profile'"
>A ruby program with the single instruction "require 'profile'"
[#4807] Re: -Wall — Vincent Isambart <vincent.isambart@...>
> Why does ruby build without -Wall in CFLAGS by default? -Wall can help to
[#4815] Re: -Wall — nobu.nokada@...
Hi,
[PATCH] for [ #1823 ] NUM2UINT and rb_num2ull do not rase RangeError for negative Fixnum
All, I submitted bug 1823 while anonymous CVS was unavailable; however, now that I can access CVS, I went ahead and applied the fix that I proposed and it works well with my extension. To summarize, the problem is that NUM2UINT and rb_num2ull accept negative Fixnum's while unsigned ints and long longs can not be less than zero. For numbers that are larger than the largest unsigned int or long long these methods correctly raise a RangeError. For the sake of consistency and correctness they should raise a RangeError when the value is less than 0 as well. It is simple enough to work around this problem in my extension; however, the fact that everything behaves so predictably is one of the aspects of writing Ruby extensions that impresses me the most. I am just getting started with Ruby and writing extensions, and this is the only problem to date. Regards, Michael Schonberg mschonberg@pacbell.net
Attachments (2)
--- numeric.c.orig 2005-04-29 21:27:54.000000000 +0000
+++ numeric.c 2005-04-29 21:27:35.000000000 +0000
@@ -1536,6 +1536,10 @@
{
if (TYPE(val) == T_BIGNUM) {
return rb_big2ulong(val);
+ }
+ /* Check the sign bit */
+ else if (FIXNUM_P(val) && (val & 0x04000000)) {
+ rb_raise( rb_eRangeError, "unsigned int can not be less than 0" );
}
return (unsigned long)rb_num2long(val);
}
@@ -1697,6 +1701,10 @@
if (TYPE(val) == T_BIGNUM) {
return rb_big2ull(val);
}
+ /* Check the sign bit */
+ else if (FIXNUM_P(val) && (val & 0x04000000)) {
+ rb_raise( rb_eRangeError, "unsigned int can not be less than 0" );
+ }
return (unsigned LONG_LONG)rb_num2ll(val);
}