Actions
Bug #14036
closedSignature 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) about 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) over 6 years ago
- Related to Bug #15570: rb_int2big signature change #14036 breaks VIM on 32b arches added
Actions
Like0
Like0Like0Like0