Commit graph

153 commits

Author SHA1 Message Date
usa
282ec842cc * re.c (rb_reg_regcomp): should succeed the taint status from the
origin. [ruby-core:33338]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@29933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 01:08:55 +00:00
nobu
3f0d0b9398 * *.[chy]: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@25430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-22 01:00:18 +00:00
marcandre
c8f61224b2 * re.c (last_match): Added note to the doc that last_match is local to current scope [ruby-core:25833]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@25166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-29 16:39:34 +00:00
knu
e8b0f17319 * array.c (ary_resize_capa): Remove an unused function.
* array.c, bignum.c, dir.c, enumerator.c, gc.c, io.c, numeric.c,
  object.c, re.c, string.c, struct.c: Mixing two styles is not a
  good thing.  Stick with the K&R style in 1.8.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@23052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-23 12:07:23 +00:00
knu
f1f12658ee * array.c (Array#try_convert): New method backported from 1.9.
* hash.c (Hash#try_convert): New method backported from 1.9.

* io.c (IO#try_convert): New method backported from 1.9.

* re.c (Regexp#try_convert): New method backported from 1.9.

* string.c (String#try_convert): New method backported from 1.9.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@23018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-20 09:43:24 +00:00
matz
4e62590423 * re.c (match_check): check if MatchData is initialized.
[ruby-core:18749]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@21997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-03 03:31:07 +00:00
knu
ed22e8690b * pack.c (rb_utf8_to_uv), intern.h: Rename utf8_to_uv to
rb_utf8_to_uv and export.

* re.c (str_ord): Backport String#ord from 1.9 (sort of);
  requested by Shinichiro Hamaji in [ruby-dev:37247].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@20463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-03 07:36:31 +00:00
nobu
9ed3d64d1d * suppress warnings on cygwin, mingw and mswin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-01 19:55:25 +00:00
nobu
1378795e08 * suppress warnings with -Wwrite-string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-31 09:28:20 +00:00
matz
12951fe7a0 * re.c (rb_reg_search): need to free allocated buffer in re_register.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 01:20:39 +00:00
matz
eb416323bf * re.c (match_select): restore previous behavior of MatchData#select.
RDoc updated as well, mentioning the plan to remove this method
  in the future.  [ruby-dev:34556]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-02 04:51:58 +00:00
nobu
cd8aabdafa * re.c (rb_reg_search): use local variable. a patch from wanabe
<s.wanabe AT gmail.com> in [ruby-dev:34537].  [ruby-dev:34492]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-30 08:47:23 +00:00
akr
425bd14e23 * re.c (match_inspect): backported from 1.9.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-15 11:45:17 +00:00
matz
0e3a147bd4 * re.c (rb_reg_quote): should always copy the quoting string.
[ruby-core:16235]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-08 01:50:21 +00:00
matz
a6ea67016c * re.c (match_values_at): make #select to be alias to #values_at
to adapt RDoc description.  [ruby-core:12588]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-12 14:36:02 +00:00
akr
398755267d * re.c (rb_reg_s_union_m): Regexp.union accepts single
argument which is an array of patterns.  [ruby-list:44084]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-08 16:04:07 +00:00
aamine
2785c7c05f * ext/strscan/strscan.c (strscan_do_scan): should set kcode option before match. [ruby-dev:29914]
* test/strscan/test_stringscanner.rb: test it.
* re.c: export kcode_set_option and kcode_reset_option (with "rb_" prefix).
* intern.h: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-10 09:59:11 +00:00
matz
980326f6f1 * ruby.h: export classes/modules to implement sandbox.
[ruby-core:08283]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-20 07:04:17 +00:00
matz
c606447c00 * re.c (rb_reg_initialize): should not allow modifying literal
regexps.  frozen check moved from rb_reg_initialize_m as well.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-16 06:38:18 +00:00
matz
1b3beecb54 * re.c (rb_reg_initialize): should not modify untainted objects in
safe levels higher than 3.

* re.c (rb_memcmp): type change from char* to const void*.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-16 00:25:18 +00:00
akr
6a84d44308 * re.c (rb_reg_regcomp): fix a GC problem on x86_64 with
gcc 3.3.5 (Debian 1:3.3.5-13).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-13 03:27:51 +00:00
matz
8847a49f21 * re.c (KR_REHASH): should cast to unsigned for 64bit CPU.
[ruby-core:06721]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-23 05:11:18 +00:00
nobu
e594bf57d8 * class.c (rb_mod_init_copy, rb_class_init_copy), file.c (rb_stat_init_copy),
numeric.c (num_init_copy), object.c (rb_obj_init_copy, Init_Object),
  re.c (match_init_copy, rb_reg_init_copy), time.c (time_init_copy):
  undocumented.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-28 14:42:46 +00:00
matz
b27c743763 * re.c (make_regexp): should not return junk address during
compile time.  [ruby-dev:26206]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-23 03:24:28 +00:00
matz
be458259da * eval.c (rb_call0): reorganize "return" event post.
* object.c (str_to_id): warn for NUL containing strings.

* re.c (make_regexp): need to free internal regexp structure when
  compilation fails.  [ruby-talk:133228]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-16 09:26:38 +00:00
knu
dca2743a1c * bignum.c (rb_big2ulong_pack): One too many arguments are passed
to big2ulong().

* re.c (_reg_init_copy, rb_reg_initialize_m): One too many
  arguments are passed to rb_reg_initialize().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-06 03:23:41 +00:00
matz
d650fb0578 * process.c (proc_setgroups): [ruby-dev:25081]
* re.c (rb_reg_eqq): document fix.  [ruby-talk:122541]

* ext/socket/socket.c (sock_connect): use rb_str_new4().
  [ruby-dev:25052]

* io.c (io_write): remove rb_str_locktmp().  [ruby-dev:25050]

* io.c (io_fwrite): takes VALUE string as an argument.
  [ruby-dev:25050]

* ext/socket/socket.c (sock_connect): remove rb_str_locktmp().
  [ruby-dev:25050]

* ext/socket/socket.c (udp_connect): [ruby-dev:25045]

* ext/socket/socket.c (udp_bind): ditto.

* ext/socket/socket.c (udp_send): ditto.

* ext/socket/socket.c (bsock_send): ditto.

* ext/socket/socket.c (s_recvfrom): ditto.

* hash.c (rb_hash_hash): should provide "hash" method where "eql?"
  is redefined.  [ruby-talk:122482]

* ext/socket/socket.c (bsock_setsockopt): [ruby-dev:25039]

* hash.c (rb_hash_hash): should provide "hash" method where "eql?"
  is redefined.  [ruby-talk:122482]

* ext/socket/socket.c (bsock_setsockopt): [ruby-dev:25039]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-06 15:34:10 +00:00
matz
860bdc3b61 * io.c (read_all): block string buffer modification during
rb_io_fread() by freezing it temporarily. [ruby-dev:24479]

* dir.c (rb_push_glob): block call at once the end of method.
  [ruby-dev:24487]

* ext/enumerator/enumerator.c (enum_each_slice): remove
  rb_gc_force_recycle() to prevent potential SEGV.
  [ruby-dev:24499]

* ext/zlib/zlib.c (zstream_expand_buffer): hide internal string
  buffer by clearing klass.  [ruby-dev:24510]

* ext/socket/socket.c (sock_s_getservbyaname): protocol string
  might be altered.  [ruby-dev:24503]

* string.c (rb_str_upto): check if return value from succ is a
  string.  [ruby-dev:24504]

* io.c (rb_io_popen): get mode string via rb_io_flags_mode() to
  avoid mode string modification.  [ruby-dev:24454]

* io.c (rb_io_getline_fast): should take delim as unsigned char to
  distinguish EOF and '\377'.  [ruby-dev:24460]

* io.c (rb_io_getline): add check for RS modification.
  [ruby-dev:24461]

* enum.c (enum_sort_by): use qsort() directly instead using
  rb_iterate().  [ruby-dev:24462]

* enum.c (enum_each_with_index): remove rb_gc_force_recycle() to
  prevent access to recycled object (via continuation for
  example).  [ruby-dev:24463]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-19 10:25:23 +00:00
matz
6f9dcadf6e * string.c (rb_str_sum): check was done with false pointer.
[ruby-dev:24383]

* string.c (rb_str_sum): string may be altered.  [ruby-dev:24381]

* eval.c (rb_f_eval): defer pointer retrieval to prevent unsafe
  sourcefile string modification.  [ruby-dev:24373]

* io.c (io_read): block string buffer modification during
  rb_io_fread() by freezing it temporarily. [ruby-dev:24366]

* io.c (rb_io_s_popen): mode argument may be altered.
  [ruby-dev:24375]

* file.c (rb_file_s_basename): ext argument may be altered.
  [ruby-dev:24377]

* enum.c (enum_sort_by): use NODE instead of 2 element arrays.
  [ruby-dev:24378]

* string.c (rb_str_chomp_bang): StringValue() may change the
  receiver.  [ruby-dev:24371]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-02 03:50:53 +00:00
nobu
da011c8311 * array.c, enum.c, eval.c, file.c, io.c, numeric.c, object.c, prec.c,
process.c, re.c, string.c: typos in RDoc comments.  [ruby-core:02783]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-14 04:06:52 +00:00
matz
849bc0234a * eval.c (top_include): include in the wrapped load is done for
the wrapper, not for a singleton class for wrapped main.
  [ruby-dev:23305]

* bignum.c (rb_big_eq): use temporary double variable to save the
  result (internal float register may be bigger than 64 bits, for
  example, 80 bits on x86).  [ruby-dev:23311]

* eval.c (block_pass): should generate unique identifier of the
  pushing block.  [ruby-talk:96363]

* ext/socket/socket.c (make_hostent): fix memory leak, based on
  the patch from HORIKAWA Hisashi <vzw00011@nifty.ne.jp>.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-05 07:45:32 +00:00
gsinclair
899fc97c33 * re.c: corrected documentation format (again)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-22 00:55:23 +00:00
gsinclair
15c47977f1 * re.c: corrected documentation format (rb_reg_initialize_m)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-22 00:45:25 +00:00
akira
19365eb157 * io.c, re.c, string.c, time.c: fixed up positions of RDocs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-19 12:54:21 +00:00
eban
180de1b3f8 * eval.c, object.c, process.c, re.c: don't use C++ style comments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-08 02:30:19 +00:00
dave
e8c8800740 Add RDoc for kernel functions, and tidy up
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-30 16:38:32 +00:00
dave
9e159579e0 MG added RDoc comments for re.c
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-26 15:58:28 +00:00
matz
a4934a42cb * io.c (read_all): fptr->f may be NULL, if IO is closed in the
signal handler.

* io.c (io_read): ditto.

* string.c (get_pat): remove 1.8.0 warning code.

* string.c (rb_str_match): extend warning until 1.8.2.

* string.c (rb_str_match2): ditto.

* class.c (class_instance_method_list): remove 1.8.0 warnings.
  method_list now recurs.  [ruby-dev:21816]

* class.c (rb_obj_singleton_methods): ditto.

* array.c (rb_ary_select): remove select with block.
  [ruby-dev:21824]

* hash.c (rb_hash_select): ditto.

* hash.c (env_select): ditto.

* re.c (match_select): ditto.

* struct.c (rb_struct_select): ditto.

* process.c (check_uid_switch): remove duplicated error messages.

* process.c (check_gid_switch): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-04 09:13:57 +00:00
matz
cf22db8d69 * parse.y (logop): left may be NULL. [ruby-talk:84539]
* eval.c (rb_eval): NODE_CASE nd_head may be NULL.

* eval.c (rb_eval): remove never occurred NODE_WHEN branch.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-30 04:37:50 +00:00
akr
a5c350aaba * re.c (rb_reg_s_union, Init_Regexp): new method `Regexp.union'.
* lib/pathname.rb (realpath): examine Dir.pwd because it may have
  symlinks.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-29 08:31:43 +00:00
nobu
157c60a09f * re.c (rb_memsearch): fix overrun. [ruby-talk:80759]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-01 15:44:39 +00:00
nobu
8695612caf * marshal.c (w_symbol, w_object): get rid of warnings.
* re.c (rb_memsearch): ditto.

* time.c (time_dump): ditto.

* ext/extmk.rb (extmake): not continue making when extconf.rb
  failed.

* ext/openssl/extconf.rb: check __VA_ARGS__ macro more precisely.

* ext/openssl/ossl.h: remove version.h dependency.

* ext/openssl/ruby_missing.h: ditto.

* lib/mkmf.rb (pkg_config): use --libs output except with
  only-L for other options.  [ruby-list:38099]

* lib/mkmf.rb (create_makefile): separate rule for static
  library from shared object.

* win32/Makefile.sub, bcc32/Makefile.sub, wince/Makefile.sub:
  define exec_prefix and libdir.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-16 14:58:34 +00:00
nobu
43601a1d17 * re.c (rb_reg_options_m): use rb_reg_options() to mask internal
flags.

* re.c (rb_reg_initialize_m): allow nil as third argument and
  ignore, and mask code flags if the argument is given.
  [ruby-dev:20885]

* re.c (rb_reg_options): get common flags directly.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-25 04:38:42 +00:00
matz
2d28a9b130 * re.c (match_captures): rename from "groups".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-17 09:53:16 +00:00
usa
3d43a19c74 * re.c (match_entry): add prototype to avoid VC++ warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-09 02:16:42 +00:00
matz
9d22a06ea0 * array.c (rb_values_at): extract common procedure from
rb_ary_values_at.  follow DRY principle.

* re.c (match_values_at): values_at should understand ranges.

* struct.c (rb_struct_values_at): ditto.

* struct.c (inspect_struct): inspect format changed; add "struct "
  at the top.

* sprintf.c (rb_f_sprintf): "%p" specifier for inspect output.
  (RCR#68)

* eval.c (rb_mod_undef_method): allow "undef_method" to accept
  multiple arguments. (RCR#146)

* lib/timeout.rb: put timeout in Timeout module. (RCR#121)
  [ruby-talk:61028]

* re.c (match_groups): new method added. (RCR#139)

* variable.c (rb_mod_const_of): should exclude constant defined
  in Object, unless retrieving constants of Object.

* string.c (rb_str_new4): do not allocate new string if original
  is frozen or already have copy-on-write entry. [ruby-talk:74940]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-03 11:02:53 +00:00
matz
6e52d10fe6 * object.c (init_copy): rename copy_object as initialize_copy,
since it works as copy constructor.

* eval.c (rb_add_method): initialize_copy should always be
  private, like initialize.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-19 05:41:08 +00:00
aamine
f50984366b * re.c (rb_reg_quote): \n \r \f \v quoting was wrong.
* re.c (rb_reg_quote): rb_reg_quote(" ") should be "\\ ", not "\\s".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-19 04:48:57 +00:00
matz
25fd1d7ff2 * object.c (rb_class_allocate_instance): singleton class check
moved to rb_obj_alloc(). (ruby-bugs-ja PR#345)

* re.c (rb_reg_quote): should escape white space characters,
  \t, \f, \n, \r. (ruby-bugs-ja PR#231)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-16 23:28:31 +00:00
matz
7752fb4205 * object.c (rb_obj_methods): list singleton methods if recur
argument is false;  list all methods otherwise.

* numeric.c (num_step): double epsilon to make "1.1.step(1.5,0.1)"
  to work.

* ext/gdbm/gdbm.c (fgdbm_values_at): new method to replace
select(index..).

* ext/sdbm/init.c (fsdbm_values_at): ditto.

* ext/dbm/dbm.c (fdbm_values_at): ditto.

* ext/dbm/dbm.c (DBM::VERSION): defined.

* ext/gdbm/testgdbm.rb: replace select with values_at.

* ext/sdbm/testsdbm.rb: ditto.

* ext/dbm/testdbm.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-06 06:51:31 +00:00