diff --git a/ChangeLog b/ChangeLog index 2cc3be0518..ec4d2f92d0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Sun Oct 27 00:55:21 2002 Akinori MUSHA + + * 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 * parse.y (str_extend): pushback() takes one argument, so properly diff --git a/array.c b/array.c index 14b7a027c7..6ea98efadb 100644 --- a/array.c +++ b/array.c @@ -120,7 +120,7 @@ rb_ary_new3(n, va_alist) long i; 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(nlen; 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); } } @@ -533,13 +533,13 @@ rb_ary_replace(ary, beg, len, rpl) { 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) { beg += RARRAY(ary)->len; } if (beg < 0) { 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) { len = RARRAY(ary)->len - beg; diff --git a/class.c b/class.c index 60b64ac884..670c8b2075 100644 --- a/class.c +++ b/class.c @@ -633,7 +633,7 @@ rb_singleton_class(obj) SPECIAL_SINGLETON(Qnil, rb_cNilClass); SPECIAL_SINGLETON(Qfalse, rb_cFalseClass); SPECIAL_SINGLETON(Qtrue, rb_cTrueClass); - rb_bug("unknown immediate %d", obj); + rb_bug("unknown immediate %ld", (long)obj); } DEFER_INTS; diff --git a/eval.c b/eval.c index b09221617a..e4a743c57f 100644 --- a/eval.c +++ b/eval.c @@ -1905,14 +1905,14 @@ is_defined(self, node, buf) case NODE_NTH_REF: 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; } break; case NODE_BACK_REF: if (RTEST(rb_reg_nth_defined(0, MATCH_DATA))) { - sprintf(buf, "$%c", node->nd_nth); + sprintf(buf, "$%c", (int)node->nd_nth); return buf; } break; @@ -3606,7 +3606,7 @@ rb_yield_0(val, self, klass, acheck) if (block->var == (NODE*)1) { if (acheck && val != Qundef && 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); } } @@ -6528,7 +6528,7 @@ proc_to_s(self, other) Data_Get_Struct(self, struct BLOCK, data); 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); if (OBJ_TAINTED(self)) OBJ_TAINT(str); @@ -7887,7 +7887,7 @@ rb_thread_schedule() curr_thread->line = ruby_sourceline; FOREACH_THREAD_FROM(curr, th) { 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->file, th->line); } @@ -9193,9 +9193,9 @@ rb_f_throw(argc, argv) break; } 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), - curr_thread); + (unsigned long)curr_thread); } tt = tt->prev; } @@ -9230,8 +9230,8 @@ return_check() break; } if (tt->tag == PROT_THREAD) { - rb_raise(rb_eThreadError, "return from within thread 0x%x", - curr_thread); + rb_raise(rb_eThreadError, "return from within thread 0x%lx", + (unsigned long)curr_thread); } tt = tt->prev; } diff --git a/ext/socket/socket.c b/ext/socket/socket.c index 33be479eb1..a0501fd94e 100644 --- a/ext/socket/socket.c +++ b/ext/socket/socket.c @@ -815,7 +815,7 @@ open_inet_internal(arg) else { Check_SafeStr(arg->serv); 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); portp = pbuf; } @@ -1981,7 +1981,7 @@ sock_s_getnameinfo(argc, argv) } } 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); } /* host */ diff --git a/file.c b/file.c index 9a0789b5f6..2260bb5e97 100644 --- a/file.c +++ b/file.c @@ -1359,7 +1359,7 @@ rb_file_s_expand_path(argc, argv) return fname; 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 */ } diff --git a/gc.c b/gc.c index 3defaab7c7..a1ebacc88e 100644 --- a/gc.c +++ b/gc.c @@ -723,8 +723,8 @@ rb_gc_mark(ptr) break; default: - rb_bug("rb_gc_mark(): unknown data type 0x%x(0x%x) %s", - obj->as.basic.flags & T_MASK, obj, + rb_bug("rb_gc_mark(): unknown data type 0x%lx(0x%lx) %s", + obj->as.basic.flags & T_MASK, (unsigned long)obj, is_pointer_to_heap(obj) ? "corrupted object" : "non object"); } } @@ -1363,10 +1363,10 @@ id2ref(obj, id) ptr = id ^ FIXNUM_FLAG; /* unset FIXNUM_FLAG */ 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) { - rb_raise(rb_eRangeError, "0x%x is recycled object", p0); + rb_raise(rb_eRangeError, "0x%lx is recycled object", p0); } return (VALUE)ptr; } diff --git a/node.h b/node.h index 0e62cf9529..e99ee047b9 100644 --- a/node.h +++ b/node.h @@ -152,7 +152,7 @@ typedef struct RNode { #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) \ RNODE(n)->flags=((RNODE(n)->flags&~FL_UMASK)|(((t)<nd_nth); + sprintf(buf, "$%c", (int)$3->nd_nth); $$ = NEW_VALIAS($2, rb_intern(buf)); } | kALIAS tGVAR tNTH_REF @@ -4475,10 +4475,10 @@ rb_backref_error(node) { switch (nd_type(node)) { 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; 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; } } diff --git a/range.c b/range.c index 6988e2e512..0820bed11c 100644 --- a/range.c +++ b/range.c @@ -288,7 +288,7 @@ rb_range_beg_len(range, begp, lenp, len, err) out_of_range: 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); } return Qnil; diff --git a/re.c b/re.c index 8eeab0cb21..834063dc00 100644 --- a/re.c +++ b/re.c @@ -785,7 +785,6 @@ match_aref(argc, argv, match) VALUE match; { VALUE idx, rest; - struct re_registers *regs; char *ptr; int i; diff --git a/string.c b/string.c index ccf2cdcde6..e89bcd2fc0 100644 --- a/string.c +++ b/string.c @@ -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]); beg = NUM2INT(argv[0]); 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) { 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 > RSTRING(str)->len) { diff --git a/struct.c b/struct.c index b8149d3804..4da4d5c223 100644 --- a/struct.c +++ b/struct.c @@ -464,10 +464,10 @@ rb_struct_aref(s, idx) i = NUM2LONG(idx); if (i < 0) i = RSTRUCT(s)->len + i; 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); 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); return RSTRUCT(s)->ptr[i]; } @@ -509,11 +509,11 @@ rb_struct_aset(s, idx, val) i = NUM2LONG(idx); if (i < 0) i = RSTRUCT(s)->len + i; 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); } 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); } rb_struct_modify(s); diff --git a/util.c b/util.c index d3e1c137ec..d9f268ea56 100644 --- a/util.c +++ b/util.c @@ -182,7 +182,7 @@ ruby_add_suffix(str, suffix) char buf[1024]; 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); #if defined(DJGPP) || defined(__CYGWIN32__) || defined(NT)