diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | include/ruby/intern.h | 1 | ||||
-rw-r--r-- | object.c | 6 |
3 files changed, 13 insertions, 0 deletions
@@ -1,3 +1,9 @@ +Sun Dec 11 10:37:47 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * object.c (rb_check_to_int): new function to convert a VALUE to + an Integer if possible, but returns nil instead of raising an + exception otherwise. + Sun Dec 11 10:34:39 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> * process.c (rb_exit_status_code): extract from rb_f_exit_bang and diff --git a/include/ruby/intern.h b/include/ruby/intern.h index 675694179b..fbc9c49cfb 100644 --- a/include/ruby/intern.h +++ b/include/ruby/intern.h @@ -553,6 +553,7 @@ VALUE rb_check_convert_type(VALUE,int,const char*,const char*); VALUE rb_check_to_integer(VALUE, const char *); VALUE rb_check_to_float(VALUE); VALUE rb_to_int(VALUE); +VALUE rb_check_to_int(VALUE); VALUE rb_Integer(VALUE); VALUE rb_to_float(VALUE); VALUE rb_Float(VALUE); @@ -2187,6 +2187,12 @@ rb_to_int(VALUE val) return rb_to_integer(val, "to_int"); } +VALUE +rb_check_to_int(VALUE val) +{ + return rb_check_to_integer(val, "to_int"); +} + static VALUE rb_convert_to_integer(VALUE val, int base) { |