Actions
Bug #14036
closedSignature of rb_uint2big and rb_int2big
Bug #14036: Signature of rb_uint2big and rb_int2big
Description
rb_uint2big and rb_int2big are declared as such:
VALUE rb_uint2big(VALUE); VALUE rb_int2big(SIGNED_VALUE); and VALUE is one of
typedef uintptr_t VALUE; typedef unsigned long VALUE; typedef unsigned LONG_LONG VALUE; and SIGNED_VALUE similar but without unsigned.
Should the signatures actually be:
VALUE rb_uint2big(unsigned long); VALUE rb_int2big(long); Of course, there is not much difference here.
But it seems a bit strange to make this kind of conversion functions taking C integers depend on the bitwidth of VALUE.
Updated by nobu (Nobuyoshi Nakada) over 7 years ago
- Description updated (diff)
Updated by nobu (Nobuyoshi Nakada) over 7 years ago
- Status changed from Open to Closed
Applied in changeset trunk|r62494.
Signature of rb_uint2big and rb_int2big
- include/ruby/ruby.h (rb_uint2big, rb_int2big): declare with
uintptr_t and intptr_t instead of VALUE and SIGNED_VALUE
respectively. [ruby-core:83424] [Bug #14036]
Updated by vo.x (Vit Ondruch) almost 7 years ago
- Related to Bug #15570: rb_int2big signature change #14036 breaks VIM on 32b arches added
Actions