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

eval(..,file,line);String#center

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 1998-03-31 04:52:10 +00:00
parent b41d6e177b
commit a1d8147e44
9 changed files with 34 additions and 10 deletions

View file

@ -1,3 +1,12 @@
Tue Mar 31 13:23:58 1998 Yukihiro Matsumoto <matz@netlab.co.jp>
* numeric.c (num2int): raise exception for too big Fixnums on
platforms that sizeof(int) < sizeof(INT).
* string.c (str_center): SEGV on negative width.
* eval.c (eval): forgot to set sourcefile.
Mon Mar 30 11:12:29 1998 Yukihiro Matsumoto <matz@netlab.co.jp>
* file.c (f_test): raises exception for unkown command.

View file

@ -6,7 +6,7 @@
$Date$
created at: Tue Aug 10 15:05:44 JST 1993
Copyright (C) 1993-1995 Yukihiro Matsumoto
Copyright (C) 1993-1998 Yukihiro Matsumoto
************************************************/

5
eval.c
View file

@ -3713,9 +3713,12 @@ eval(self, src, scope, file, line)
file = sourcefile;
line = sourceline;
}
else if (line > 0) {
else {
sourcefile = file;
if (line > 0) {
sourceline = line;
}
}
if (!NIL_P(scope)) {
if (TYPE(scope) != T_DATA || RDATA(scope)->dfree != blk_free) {
TypeError("wrong argument type %s (expected Proc/Binding)",

View file

@ -6,7 +6,7 @@
$Date$
created at: Mon Jan 24 15:59:52 JST 1994
Copyright (C) 1995 Yukihiro Matsumoto
Copyright (C) 1995-1998 Yukihiro Matsumoto
************************************************/

View file

@ -5,7 +5,7 @@
$Author$
created at: Fri Aug 2 09:24:12 JST 1996
Copyright (C) 1995 Yukihiro Matsumoto
Copyright (C) 1995-1998 Yukihiro Matsumoto
************************************************/
/* This module provides an interface to the RSA Data Security,

View file

@ -588,6 +588,18 @@ num2int(val)
switch (TYPE(val)) {
case T_FIXNUM:
if (sizeof(int) < sizeof(INT)) {
#ifndef INT_MAX
/* assuming 32bit(2's compliment) int */
# define INT_MAX 2147483647
# define INT_MIN (- INT_MAX - 1)
#endif
INT i = FIX2INT(val);
if (INT_MIN < i && i < INT_MAX) {
return i;
}
ArgError("Fixnum too big to convert into `int'");
}
return FIX2INT(val);
case T_FLOAT:

2
ruby.c
View file

@ -6,7 +6,7 @@
$Date$
created at: Tue Aug 10 12:47:31 JST 1993
Copyright (C) 1993-1996 Yukihiro Matsumoto
Copyright (C) 1993-1998 Yukihiro Matsumoto
************************************************/

View file

@ -2530,7 +2530,7 @@ str_ljust(str, w)
VALUE res;
UCHAR *p, *pend;
if (RSTRING(str)->len >= width) return str;
if (width < 0 || RSTRING(str)->len >= width) return str;
res = str_new(0, width);
memcpy(RSTRING(res)->ptr, RSTRING(str)->ptr, RSTRING(str)->len);
p = RSTRING(res)->ptr + RSTRING(str)->len; pend = RSTRING(res)->ptr + width;
@ -2549,7 +2549,7 @@ str_rjust(str, w)
VALUE res;
UCHAR *p, *pend;
if (RSTRING(str)->len >= width) return str;
if (width < 0 || RSTRING(str)->len >= width) return str;
res = str_new(0, width);
p = RSTRING(res)->ptr; pend = p + width - RSTRING(str)->len;
while (p < pend) {
@ -2569,7 +2569,7 @@ str_center(str, w)
UCHAR *p, *pend;
int n;
if (RSTRING(str)->len >= width) return str;
if (width < 0 || RSTRING(str)->len >= width) return str;
res = str_new(0, width);
n = (width - RSTRING(str)->len)/2;
p = RSTRING(res)->ptr; pend = p + n;