diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-06-18 06:29:07 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-06-18 06:29:07 +0000 |
commit | 1979d9ae1f7e6c2f0d3016a40064bda0a64d09f1 (patch) | |
tree | cf97596c6b4d9627f133b3082bf2e8faec3f0388 /string.c | |
parent | 12c00312aaa4831f0ce820d9addce8f27c4f50b4 (diff) |
* parse.y (yylex): obsolete '?<whitespace>'; use '?\s', '?\n',
etc, instead.
* parse.y (yylex): no here document after a dot.
* parse.y (yylex): should have set lex_state after '`'.
* parse.y (yylex): should have set lex_state properly after
tOP_ASGN.
* bignum.c (rb_big2dbl): return canonical HUGE_VAL for infinity.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r-- | string.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -2991,11 +2991,16 @@ rb_str_crypt(str, salt) VALUE str, salt; { extern char *crypt(); + VALUE result; StringValue(salt); if (RSTRING(salt)->len < 2) rb_raise(rb_eArgError, "salt too short(need >=2 bytes)"); - return rb_tainted_str_new2(crypt(RSTRING(str)->ptr, RSTRING(salt)->ptr)); + + result = rb_str_new2(crypt(RSTRING(str)->ptr, RSTRING(salt)->ptr)); + OBJ_INFECT(result, str); + OBJ_INFECT(result, salt); + return result; } static VALUE |