1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* array.c, class.c, eval.c, file.c, gc.c, node.h, numeric.c,

object.c, parse.y, range.c, re.c, string.c, struct.c, util.c,
  ext/socket/socket.c: merge from 1.7: treat long values as long
  instead of int.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@3003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
knu 2002-10-26 15:57:26 +00:00
parent 19de515b93
commit 0861cbd901
16 changed files with 45 additions and 39 deletions

View file

@ -1,3 +1,10 @@
Sun Oct 27 00:55:21 2002 Akinori MUSHA <knu@iDaemons.org>
* array.c, class.c, eval.c, file.c, gc.c, node.h, numeric.c,
object.c, parse.y, range.c, re.c, string.c, struct.c, util.c,
ext/socket/socket.c: merge from 1.7: treat long values as long
instead of int.
Sat Oct 26 04:39:48 2002 Akinori MUSHA <knu@iDaemons.org> Sat Oct 26 04:39:48 2002 Akinori MUSHA <knu@iDaemons.org>
* parse.y (str_extend): pushback() takes one argument, so properly * parse.y (str_extend): pushback() takes one argument, so properly

View file

@ -120,7 +120,7 @@ rb_ary_new3(n, va_alist)
long i; long i;
if (n < 0) { if (n < 0) {
rb_raise(rb_eIndexError, "negative number of items(%d)", n); rb_raise(rb_eIndexError, "negative number of items(%ld)", n);
} }
ary = rb_ary_new2(n<ARY_DEFAULT_SIZE?ARY_DEFAULT_SIZE:n); ary = rb_ary_new2(n<ARY_DEFAULT_SIZE?ARY_DEFAULT_SIZE:n);
@ -240,7 +240,7 @@ rb_ary_store(ary, idx, val)
if (idx < 0) { if (idx < 0) {
idx += RARRAY(ary)->len; idx += RARRAY(ary)->len;
if (idx < 0) { if (idx < 0) {
rb_raise(rb_eIndexError, "index %d out of array", rb_raise(rb_eIndexError, "index %ld out of array",
idx - RARRAY(ary)->len); idx - RARRAY(ary)->len);
} }
} }
@ -533,13 +533,13 @@ rb_ary_replace(ary, beg, len, rpl)
{ {
long rlen; long rlen;
if (len < 0) rb_raise(rb_eIndexError, "negative length %d", len); if (len < 0) rb_raise(rb_eIndexError, "negative length %ld", len);
if (beg < 0) { if (beg < 0) {
beg += RARRAY(ary)->len; beg += RARRAY(ary)->len;
} }
if (beg < 0) { if (beg < 0) {
beg -= RARRAY(ary)->len; beg -= RARRAY(ary)->len;
rb_raise(rb_eIndexError, "index %d out of array", beg); rb_raise(rb_eIndexError, "index %ld out of array", beg);
} }
if (beg + len > RARRAY(ary)->len) { if (beg + len > RARRAY(ary)->len) {
len = RARRAY(ary)->len - beg; len = RARRAY(ary)->len - beg;

View file

@ -633,7 +633,7 @@ rb_singleton_class(obj)
SPECIAL_SINGLETON(Qnil, rb_cNilClass); SPECIAL_SINGLETON(Qnil, rb_cNilClass);
SPECIAL_SINGLETON(Qfalse, rb_cFalseClass); SPECIAL_SINGLETON(Qfalse, rb_cFalseClass);
SPECIAL_SINGLETON(Qtrue, rb_cTrueClass); SPECIAL_SINGLETON(Qtrue, rb_cTrueClass);
rb_bug("unknown immediate %d", obj); rb_bug("unknown immediate %ld", (long)obj);
} }
DEFER_INTS; DEFER_INTS;

18
eval.c
View file

@ -1905,14 +1905,14 @@ is_defined(self, node, buf)
case NODE_NTH_REF: case NODE_NTH_REF:
if (RTEST(rb_reg_nth_defined(node->nd_nth, MATCH_DATA))) { if (RTEST(rb_reg_nth_defined(node->nd_nth, MATCH_DATA))) {
sprintf(buf, "$%d", node->nd_nth); sprintf(buf, "$%d", (int)node->nd_nth);
return buf; return buf;
} }
break; break;
case NODE_BACK_REF: case NODE_BACK_REF:
if (RTEST(rb_reg_nth_defined(0, MATCH_DATA))) { if (RTEST(rb_reg_nth_defined(0, MATCH_DATA))) {
sprintf(buf, "$%c", node->nd_nth); sprintf(buf, "$%c", (int)node->nd_nth);
return buf; return buf;
} }
break; break;
@ -3606,7 +3606,7 @@ rb_yield_0(val, self, klass, acheck)
if (block->var == (NODE*)1) { if (block->var == (NODE*)1) {
if (acheck && val != Qundef && if (acheck && val != Qundef &&
TYPE(val) == T_ARRAY && RARRAY(val)->len != 0) { TYPE(val) == T_ARRAY && RARRAY(val)->len != 0) {
rb_raise(rb_eArgError, "wrong # of arguments (%d for 0)", rb_raise(rb_eArgError, "wrong # of arguments (%ld for 0)",
RARRAY(val)->len); RARRAY(val)->len);
} }
} }
@ -6528,7 +6528,7 @@ proc_to_s(self, other)
Data_Get_Struct(self, struct BLOCK, data); Data_Get_Struct(self, struct BLOCK, data);
str = rb_str_new(0, strlen(cname)+6+16+1); /* 6:tags 16:addr 1:eos */ str = rb_str_new(0, strlen(cname)+6+16+1); /* 6:tags 16:addr 1:eos */
sprintf(RSTRING(str)->ptr, "#<%s:0x%lx>", cname, data->tag); sprintf(RSTRING(str)->ptr, "#<%s:0x%lx>", cname, (unsigned long)data->tag);
RSTRING(str)->len = strlen(RSTRING(str)->ptr); RSTRING(str)->len = strlen(RSTRING(str)->ptr);
if (OBJ_TAINTED(self)) OBJ_TAINT(str); if (OBJ_TAINTED(self)) OBJ_TAINT(str);
@ -7887,7 +7887,7 @@ rb_thread_schedule()
curr_thread->line = ruby_sourceline; curr_thread->line = ruby_sourceline;
FOREACH_THREAD_FROM(curr, th) { FOREACH_THREAD_FROM(curr, th) {
fprintf(stderr, "deadlock 0x%lx: %d:%d %s - %s:%d\n", fprintf(stderr, "deadlock 0x%lx: %d:%d %s - %s:%d\n",
th->thread, th->status, (unsigned long)th->thread, th->status,
th->wait_for, th==main_thread?"(main)":"", th->wait_for, th==main_thread?"(main)":"",
th->file, th->line); th->file, th->line);
} }
@ -9193,9 +9193,9 @@ rb_f_throw(argc, argv)
break; break;
} }
if (tt->tag == PROT_THREAD) { if (tt->tag == PROT_THREAD) {
rb_raise(rb_eThreadError, "uncaught throw `%s' in thread 0x%x", rb_raise(rb_eThreadError, "uncaught throw `%s' in thread 0x%lx",
rb_id2name(t), rb_id2name(t),
curr_thread); (unsigned long)curr_thread);
} }
tt = tt->prev; tt = tt->prev;
} }
@ -9230,8 +9230,8 @@ return_check()
break; break;
} }
if (tt->tag == PROT_THREAD) { if (tt->tag == PROT_THREAD) {
rb_raise(rb_eThreadError, "return from within thread 0x%x", rb_raise(rb_eThreadError, "return from within thread 0x%lx",
curr_thread); (unsigned long)curr_thread);
} }
tt = tt->prev; tt = tt->prev;
} }

View file

@ -815,7 +815,7 @@ open_inet_internal(arg)
else { else {
Check_SafeStr(arg->serv); Check_SafeStr(arg->serv);
if (RSTRING(arg->serv)->len >= sizeof(pbuf)) if (RSTRING(arg->serv)->len >= sizeof(pbuf))
rb_raise(rb_eArgError, "servicename too long (%d)", RSTRING(arg->serv)->len); rb_raise(rb_eArgError, "servicename too long (%ld)", RSTRING(arg->serv)->len);
strcpy(pbuf, RSTRING(arg->serv)->ptr); strcpy(pbuf, RSTRING(arg->serv)->ptr);
portp = pbuf; portp = pbuf;
} }
@ -1981,7 +1981,7 @@ sock_s_getnameinfo(argc, argv)
} }
} }
else { else {
rb_raise(rb_eArgError, "array size should be 3 or 4, %d given", rb_raise(rb_eArgError, "array size should be 3 or 4, %ld given",
RARRAY(sa)->len); RARRAY(sa)->len);
} }
/* host */ /* host */

2
file.c
View file

@ -1359,7 +1359,7 @@ rb_file_s_expand_path(argc, argv)
return fname; return fname;
toolong: toolong:
rb_raise(rb_eArgError, "argument too long (size=%d)", RSTRING(fname)->len); rb_raise(rb_eArgError, "argument too long (size=%ld)", RSTRING(fname)->len);
return Qnil; /* not reached */ return Qnil; /* not reached */
} }

8
gc.c
View file

@ -723,8 +723,8 @@ rb_gc_mark(ptr)
break; break;
default: default:
rb_bug("rb_gc_mark(): unknown data type 0x%x(0x%x) %s", rb_bug("rb_gc_mark(): unknown data type 0x%lx(0x%lx) %s",
obj->as.basic.flags & T_MASK, obj, obj->as.basic.flags & T_MASK, (unsigned long)obj,
is_pointer_to_heap(obj) ? "corrupted object" : "non object"); is_pointer_to_heap(obj) ? "corrupted object" : "non object");
} }
} }
@ -1363,10 +1363,10 @@ id2ref(obj, id)
ptr = id ^ FIXNUM_FLAG; /* unset FIXNUM_FLAG */ ptr = id ^ FIXNUM_FLAG; /* unset FIXNUM_FLAG */
if (!is_pointer_to_heap((void *)ptr)) { if (!is_pointer_to_heap((void *)ptr)) {
rb_raise(rb_eRangeError, "0x%x is not id value", p0); rb_raise(rb_eRangeError, "0x%lx is not id value", p0);
} }
if (BUILTIN_TYPE(ptr) == 0) { if (BUILTIN_TYPE(ptr) == 0) {
rb_raise(rb_eRangeError, "0x%x is recycled object", p0); rb_raise(rb_eRangeError, "0x%lx is recycled object", p0);
} }
return (VALUE)ptr; return (VALUE)ptr;
} }

2
node.h
View file

@ -152,7 +152,7 @@ typedef struct RNode {
#define RNODE(obj) (R_CAST(RNode)(obj)) #define RNODE(obj) (R_CAST(RNode)(obj))
#define nd_type(n) (((RNODE(n))->flags>>FL_USHIFT)&0xff) #define nd_type(n) ((int)(((RNODE(n))->flags>>FL_USHIFT)&0xff))
#define nd_set_type(n,t) \ #define nd_set_type(n,t) \
RNODE(n)->flags=((RNODE(n)->flags&~FL_UMASK)|(((t)<<FL_USHIFT)&FL_UMASK)) RNODE(n)->flags=((RNODE(n)->flags&~FL_UMASK)|(((t)<<FL_USHIFT)&FL_UMASK))

View file

@ -815,7 +815,7 @@ rb_num2int(val)
long num = rb_num2long(val); long num = rb_num2long(val);
if (num < INT_MIN || INT_MAX < num) { if (num < INT_MIN || INT_MAX < num) {
rb_raise(rb_eRangeError, "integer %d too big to convert to `int'", num); rb_raise(rb_eRangeError, "integer %ld too big to convert to `int'", num);
} }
return (int)num; return (int)num;
} }
@ -827,7 +827,7 @@ rb_fix2int(val)
long num = FIXNUM_P(val)?FIX2LONG(val):rb_num2long(val); long num = FIXNUM_P(val)?FIX2LONG(val):rb_num2long(val);
if (num < INT_MIN || INT_MAX < num) { if (num < INT_MIN || INT_MAX < num) {
rb_raise(rb_eRangeError, "integer %d too big to convert to `int'", num); rb_raise(rb_eRangeError, "integer %ld too big to convert to `int'", num);
} }
return (int)num; return (int)num;
} }
@ -857,7 +857,7 @@ rb_num2fix(val)
v = rb_num2long(val); v = rb_num2long(val);
if (!FIXABLE(v)) if (!FIXABLE(v))
rb_raise(rb_eRangeError, "integer %d out of range of fixnum", v); rb_raise(rb_eRangeError, "integer %ld out of range of fixnum", v);
return INT2FIX(v); return INT2FIX(v);
} }
@ -890,7 +890,7 @@ int_chr(num)
long i = NUM2LONG(num); long i = NUM2LONG(num);
if (i < 0 || 0xff < i) if (i < 0 || 0xff < i)
rb_raise(rb_eRangeError, "%d out of char range", i); rb_raise(rb_eRangeError, "%ld out of char range", i);
c = i; c = i;
return rb_str_new(&c, 1); return rb_str_new(&c, 1);
} }

View file

@ -666,7 +666,7 @@ rb_to_id(name)
case T_FIXNUM: case T_FIXNUM:
id = FIX2INT(name); id = FIX2INT(name);
if (!rb_id2name(id)) { if (!rb_id2name(id)) {
rb_raise(rb_eArgError, "%d is not a symbol", id); rb_raise(rb_eArgError, "%lu is not a symbol", id);
} }
break; break;
case T_SYMBOL: case T_SYMBOL:

View file

@ -331,7 +331,7 @@ stmt : kALIAS fitem {lex_state = EXPR_FNAME;} fitem
if (in_def || in_single) if (in_def || in_single)
yyerror("alias within method"); yyerror("alias within method");
sprintf(buf, "$%c", $3->nd_nth); sprintf(buf, "$%c", (int)$3->nd_nth);
$$ = NEW_VALIAS($2, rb_intern(buf)); $$ = NEW_VALIAS($2, rb_intern(buf));
} }
| kALIAS tGVAR tNTH_REF | kALIAS tGVAR tNTH_REF
@ -4475,10 +4475,10 @@ rb_backref_error(node)
{ {
switch (nd_type(node)) { switch (nd_type(node)) {
case NODE_NTH_REF: case NODE_NTH_REF:
rb_compile_error("Can't set variable $%d", node->nd_nth); rb_compile_error("Can't set variable $%d", (int)node->nd_nth);
break; break;
case NODE_BACK_REF: case NODE_BACK_REF:
rb_compile_error("Can't set variable $%c", node->nd_nth); rb_compile_error("Can't set variable $%c", (int)node->nd_nth);
break; break;
} }
} }

View file

@ -288,7 +288,7 @@ rb_range_beg_len(range, begp, lenp, len, err)
out_of_range: out_of_range:
if (err) { if (err) {
rb_raise(rb_eRangeError, "%d..%s%d out of range", rb_raise(rb_eRangeError, "%ld..%s%ld out of range",
b, EXCL(range) ? "." : "", e); b, EXCL(range) ? "." : "", e);
} }
return Qnil; return Qnil;

1
re.c
View file

@ -785,7 +785,6 @@ match_aref(argc, argv, match)
VALUE match; VALUE match;
{ {
VALUE idx, rest; VALUE idx, rest;
struct re_registers *regs;
char *ptr; char *ptr;
int i; int i;

View file

@ -1072,10 +1072,10 @@ rb_str_aset_m(argc, argv, str)
if (TYPE(argv[2]) != T_STRING) argv[2] = rb_str_to_str(argv[2]); if (TYPE(argv[2]) != T_STRING) argv[2] = rb_str_to_str(argv[2]);
beg = NUM2INT(argv[0]); beg = NUM2INT(argv[0]);
len = NUM2INT(argv[1]); len = NUM2INT(argv[1]);
if (len < 0) rb_raise(rb_eIndexError, "negative length %d", len); if (len < 0) rb_raise(rb_eIndexError, "negative length %ld", len);
if (RSTRING(str)->len < beg) { if (RSTRING(str)->len < beg) {
out_of_range: out_of_range:
rb_raise(rb_eIndexError, "index %d out of string", beg); rb_raise(rb_eIndexError, "index %ld out of string", beg);
} }
if (beg < 0) { if (beg < 0) {
if (-beg > RSTRING(str)->len) { if (-beg > RSTRING(str)->len) {

View file

@ -464,10 +464,10 @@ rb_struct_aref(s, idx)
i = NUM2LONG(idx); i = NUM2LONG(idx);
if (i < 0) i = RSTRUCT(s)->len + i; if (i < 0) i = RSTRUCT(s)->len + i;
if (i < 0) if (i < 0)
rb_raise(rb_eIndexError, "offset %d too small for struct(size:%d)", rb_raise(rb_eIndexError, "offset %ld too small for struct(size:%ld)",
i, RSTRUCT(s)->len); i, RSTRUCT(s)->len);
if (RSTRUCT(s)->len <= i) if (RSTRUCT(s)->len <= i)
rb_raise(rb_eIndexError, "offset %d too large for struct(size:%d)", rb_raise(rb_eIndexError, "offset %ld too large for struct(size:%ld)",
i, RSTRUCT(s)->len); i, RSTRUCT(s)->len);
return RSTRUCT(s)->ptr[i]; return RSTRUCT(s)->ptr[i];
} }
@ -509,11 +509,11 @@ rb_struct_aset(s, idx, val)
i = NUM2LONG(idx); i = NUM2LONG(idx);
if (i < 0) i = RSTRUCT(s)->len + i; if (i < 0) i = RSTRUCT(s)->len + i;
if (i < 0) { if (i < 0) {
rb_raise(rb_eIndexError, "offset %d too small for struct(size:%d)", rb_raise(rb_eIndexError, "offset %ld too small for struct(size:%ld)",
i, RSTRUCT(s)->len); i, RSTRUCT(s)->len);
} }
if (RSTRUCT(s)->len <= i) { if (RSTRUCT(s)->len <= i) {
rb_raise(rb_eIndexError, "offset %d too large for struct(size:%d)", rb_raise(rb_eIndexError, "offset %ld too large for struct(size:%ld)",
i, RSTRUCT(s)->len); i, RSTRUCT(s)->len);
} }
rb_struct_modify(s); rb_struct_modify(s);

2
util.c
View file

@ -182,7 +182,7 @@ ruby_add_suffix(str, suffix)
char buf[1024]; char buf[1024];
if (RSTRING(str)->len > 1000) if (RSTRING(str)->len > 1000)
rb_fatal("Cannot do inplace edit on long filename (%d characters)", rb_fatal("Cannot do inplace edit on long filename (%ld characters)",
RSTRING(str)->len); RSTRING(str)->len);
#if defined(DJGPP) || defined(__CYGWIN32__) || defined(NT) #if defined(DJGPP) || defined(__CYGWIN32__) || defined(NT)