diff options
| author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-05-07 08:44:24 +0000 |
|---|---|---|
| committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-05-07 08:44:24 +0000 |
| commit | d4301da342a50aa72cd930208d0dfc516f76eaff (patch) | |
| tree | 47b47a035bcad5c857f1d90b41e9c14bf2e9bbf8 /ext | |
| parent | 6755eb4c0ac4fd31d8d69acfd50e0bf11179aa8e (diff) | |
| download | ruby-d4301da342a50aa72cd930208d0dfc516f76eaff.tar.gz ruby-d4301da342a50aa72cd930208d0dfc516f76eaff.tar.xz ruby-d4301da342a50aa72cd930208d0dfc516f76eaff.zip | |
* parse.y (string_content): turn off NODE_NEWLINE flag to avoid
unnecessary line trace for inlined expression.
(ruby-bugs PR#1320)
* numeric.c (flo_to_s): tweak output string based to preserve
decimal point and to remove trailing zeros. [ruby-talk:97891]
* string.c (rb_str_index_m): use unsigned comparison for T_FIXNUM
search. [ruby-talk:97342]
* hash.c (rb_hash_equal): returns true if two hashes have same set
of key-value set. [ruby-talk:97559]
* hash.c (rb_hash_eql): returns true if two hashes are equal and
have same default values.
* string.c (rb_str_equal): always returns true or false, never
returns nil. [ruby-dev:23404]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@6262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/dbm/dbm.c | 20 | ||||
| -rw-r--r-- | ext/gdbm/gdbm.c | 24 | ||||
| -rw-r--r-- | ext/iconv/charset_alias.rb | 4 | ||||
| -rw-r--r-- | ext/sdbm/init.c | 20 |
4 files changed, 49 insertions, 19 deletions
diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c index c42239440..1e4fe00fe 100644 --- a/ext/dbm/dbm.c +++ b/ext/dbm/dbm.c @@ -280,6 +280,16 @@ fdbm_values_at(argc, argv, obj) return new; } +static void +fdbm_modify(obj) + VALUE obj; +{ + rb_secure(4); + if (OBJ_FROZEN_P(obj)) { + if (OBJ_FROZEN(obj)) rb_error_frozen("DBM"); + } +} + static VALUE fdbm_delete(obj, keystr) VALUE obj, keystr; @@ -289,7 +299,7 @@ fdbm_delete(obj, keystr) DBM *dbm; VALUE valstr; - rb_secure(4); + fdbm_modify(obj); StringValue(keystr); key.dptr = RSTRING(keystr)->ptr; key.dsize = RSTRING(keystr)->len; @@ -325,7 +335,7 @@ fdbm_shift(obj) DBM *dbm; VALUE keystr, valstr; - rb_secure(4); + fdbm_modify(obj); GetDBM(obj, dbmp); dbm = dbmp->di_dbm; dbmp->di_size = -1; @@ -351,7 +361,7 @@ fdbm_delete_if(obj) VALUE ret, ary = rb_ary_new(); int i, status = 0, n; - rb_secure(4); + fdbm_modify(obj); GetDBM(obj, dbmp); dbm = dbmp->di_dbm; n = dbmp->di_size; @@ -388,7 +398,7 @@ fdbm_clear(obj) struct dbmdata *dbmp; DBM *dbm; - rb_secure(4); + fdbm_modify(obj); GetDBM(obj, dbmp); dbm = dbmp->di_dbm; dbmp->di_size = -1; @@ -471,7 +481,7 @@ fdbm_store(obj, keystr, valstr) struct dbmdata *dbmp; DBM *dbm; - rb_secure(4); + fdbm_modify(obj); keystr = rb_obj_as_string(keystr); key.dptr = RSTRING(keystr)->ptr; diff --git a/ext/gdbm/gdbm.c b/ext/gdbm/gdbm.c index ee56fbf5d..705cecfa9 100644 --- a/ext/gdbm/gdbm.c +++ b/ext/gdbm/gdbm.c @@ -387,6 +387,16 @@ fgdbm_values_at(argc, argv, obj) return new; } +static void +rb_gdbm_modify(obj) + VALUE obj; +{ + rb_secure(4); + if (OBJ_FROZEN_P(obj)) { + if (OBJ_FROZEN(obj)) rb_error_frozen("GDBM"); + } +} + static VALUE rb_gdbm_delete(obj, keystr) VALUE obj, keystr; @@ -395,7 +405,7 @@ rb_gdbm_delete(obj, keystr) struct dbmdata *dbmp; GDBM_FILE dbm; - rb_secure(4); + rb_gdbm_modify(obj); StringValue(keystr); key.dptr = RSTRING(keystr)->ptr; key.dsize = RSTRING(keystr)->len; @@ -436,7 +446,7 @@ fgdbm_shift(obj) GDBM_FILE dbm; VALUE keystr, valstr; - rb_secure(4); + rb_gdbm_modify(obj); GetDBM(obj, dbmp); dbm = dbmp->di_dbm; @@ -458,7 +468,7 @@ fgdbm_delete_if(obj) VALUE ret, ary = rb_ary_new(); int i, status = 0, n; - rb_secure(4); + rb_gdbm_modify(obj); GetDBM(obj, dbmp); dbm = dbmp->di_dbm; n = dbmp->di_size; @@ -489,7 +499,7 @@ fgdbm_clear(obj) struct dbmdata *dbmp; GDBM_FILE dbm; - rb_secure(4); + rb_gdbm_modify(obj); GetDBM(obj, dbmp); dbm = dbmp->di_dbm; dbmp->di_size = -1; @@ -588,7 +598,7 @@ fgdbm_store(obj, keystr, valstr) struct dbmdata *dbmp; GDBM_FILE dbm; - rb_secure(4); + rb_gdbm_modify(obj); StringValue(keystr); key.dptr = RSTRING(keystr)->ptr; key.dsize = RSTRING(keystr)->len; @@ -830,7 +840,7 @@ fgdbm_reorganize(obj) struct dbmdata *dbmp; GDBM_FILE dbm; - rb_secure(4); + rb_gdbm_modify(obj); GetDBM(obj, dbmp); dbm = dbmp->di_dbm; gdbm_reorganize(dbm); @@ -844,7 +854,7 @@ fgdbm_sync(obj) struct dbmdata *dbmp; GDBM_FILE dbm; - rb_secure(4); + rb_gdbm_modify(obj); GetDBM(obj, dbmp); dbm = dbmp->di_dbm; gdbm_sync(dbm); diff --git a/ext/iconv/charset_alias.rb b/ext/iconv/charset_alias.rb index 458dc89d4..f1563b0df 100644 --- a/ext/iconv/charset_alias.rb +++ b/ext/iconv/charset_alias.rb @@ -43,7 +43,7 @@ def charset_alias(config_charset, mapfile, target = OS) st = Hash.new(0) map = map.sort.collect do |can, *sys| if sys.grep(/^en_us(?=.|$)/i) {break true} == true - noen = %r"^(?!en_us)\w+_\w+#{Regexp.new($')}$"i + noen = %r"^(?!en_us)\w+_\w+#{Regexp.new($')}$"i #" sys.reject! {|s| noen =~ s} end sys = sys.first @@ -67,7 +67,7 @@ def charset_alias(config_charset, mapfile, target = OS) else sys = "'#{sys}'.freeze" end - f.puts(" charset_map['#{can}'.freeze] = #{sys}") + f.puts(" charset_map['#{can}'] = #{sys}") end f.puts("end") end diff --git a/ext/sdbm/init.c b/ext/sdbm/init.c index 4352d21f9..77b27afe5 100644 --- a/ext/sdbm/init.c +++ b/ext/sdbm/init.c @@ -268,6 +268,16 @@ fsdbm_values_at(argc, argv, obj) return new; } +static void +fdbm_modify(obj) + VALUE obj; +{ + rb_secure(4); + if (OBJ_FROZEN_P(obj)) { + if (OBJ_FROZEN(obj)) rb_error_frozen("SDBM"); + } +} + static VALUE fsdbm_delete(obj, keystr) VALUE obj, keystr; @@ -277,7 +287,7 @@ fsdbm_delete(obj, keystr) DBM *dbm; VALUE valstr; - rb_secure(4); + fdbm_modify(obj); StringValue(keystr); key.dptr = RSTRING(keystr)->ptr; key.dsize = RSTRING(keystr)->len; @@ -314,7 +324,7 @@ fsdbm_shift(obj) DBM *dbm; VALUE keystr, valstr; - rb_secure(4); + fdbm_modify(obj); GetDBM(obj, dbmp); dbm = dbmp->di_dbm; @@ -342,7 +352,7 @@ fsdbm_delete_if(obj) VALUE ret, ary = rb_ary_new(); int i, status = 0, n; - rb_secure(4); + fdbm_modify(obj); GetDBM(obj, dbmp); dbm = dbmp->di_dbm; n = dbmp->di_size; @@ -378,7 +388,7 @@ fsdbm_clear(obj) struct dbmdata *dbmp; DBM *dbm; - rb_secure(4); + fdbm_modify(obj); GetDBM(obj, dbmp); dbm = dbmp->di_dbm; dbmp->di_size = -1; @@ -466,7 +476,7 @@ fsdbm_store(obj, keystr, valstr) return Qnil; } - rb_secure(4); + fdbm_modify(obj); keystr = rb_obj_as_string(keystr); key.dptr = RSTRING(keystr)->ptr; |
