nobu
b5cd43c998
* file.c (file_expand_path): check if expanded dname encoding is
...
compatible with fname, not just copying. [ruby-core:30516]
* test/ruby/test_beginendblock.rb (test_endblockwarn): needs
encoding comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-30 19:03:47 +00:00
mame
59c74fab79
* file.c (rb_file_directory_p): update rdoc. a patch from Ilkka
...
Laukkanen. [ruby-core:30016]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-30 08:10:04 +00:00
nobu
45f6fbf339
* removed trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-29 18:51:39 +00:00
naruse
97c175fa19
* file.c (rb_home_dir): set filesystem encoding.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-27 14:47:29 +00:00
naruse
84abef0fc0
* file.c (file_expand_path): set encoding as the same of fname
...
when _result_ is not filesystem encoding. [ruby-dev:41429]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-27 14:47:23 +00:00
naruse
ac8346c4c3
* file.c (file_expand_path): use rb_enc_associate_index and
...
rb_filesystem_encindex. Strings related FileSystem should
have filesystem_encoding.
* file.c (SET_EXTERNAL_ENCODING): removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-27 14:47:20 +00:00
usa
fd8a1c725b
* file.c (file_expand_path): revert a part of r22392. it's commit miss.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-26 11:04:43 +00:00
marcandre
c5b5ab0935
* enum.c: Documentation: small fixes
...
* file.c: ditto
* io.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:51:01 +00:00
marcandre
c1ecff1b1e
* hash.c: Documentation: change => in call-seq to ->.
...
* enum.c: Documentation: whitespace fix for r27865
* error.c: ditto
* file.c: ditto
* io.c: ditto
* load.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:31:22 +00:00
marcandre
7729de4d91
* array.c: Documentation: change => in call-seq to ->.
...
Harmonize "#=>" in examples. [ruby-core:30206]
* bignum.c: ditto
* class.c: ditto
* compar.c: ditto
* cont.c: ditto
* dir.c: ditto
* encoding.c: ditto
* enum.c: ditto
* enumerator.c: ditto
* error.c: ditto
* eval.c: ditto
* file.c: ditto
* gc.c: ditto
* io.c: ditto
* load.c: ditto
* marshal.c: ditto
* math.c: ditto
* numeric.c: ditto
* object.c: ditto
* pack.c: ditto
* proc.c: ditto
* process.c: ditto
* random.c: ditto
* range.c: ditto
* re.c: ditto
* ruby.c: ditto
* signal.c: ditto
* sprintf.c: ditto
* string.c: ditto
* struct.c: ditto
* thread.c: ditto
* time.c: ditto
* transcode.c: ditto
* variable.c: ditto
* vm_eval.c: ditto
* vm_method.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:07:33 +00:00
usa
54062a76e7
* file.c (rb_stat): use STAT macro instead of calling stat() directly.
...
reported by Bill Kelly. [ruby-core:30012]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-05 06:55:45 +00:00
nobu
21c5ffc535
* file.c (rb_str_encode_ospath): unused variable.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-03 01:46:28 +00:00
usa
6c28f99d88
* merge some patches from win32-uncode-test branch.
...
see #1685 .
* file.c, include/ruby/intern.h (rb_str_encode_ospath): new function
to convert encoding for pathname.
* win32.c, include/ruby/win32.h (rb_w32_ulink, rb_w32_urename,
rb_w32_ustati64, rb_w32_uopen, rb_w32_uutime, rb_w32_uchdir,
rb_w32_umkdir, rb_w32_urmdir, rb_w32_uunlink): new functions to
accept UTF-8 path.
* win32/win32.c (rb_w32_opendir, link, rb_w32_stati64, rb_w32_utime,
rb_w32_unlink): use WCHAR path internally.
* file.c (rb_stat, eaccess, access_internal, rb_file_s_ftype,
chmod_internal, rb_file_chmod, rb_file_chown, utime_internal,
rb_file_s_link, unlink_internal, rb_file_s_rename): use UTF-8 version
functions on Win32.
* file.c (apply2files, rb_stat, rb_file_s_lstat, rb_file_symlink_p,
rb_file_readable_p, rb_file_writable_p, rb_file_executable_p,
check3rdbyte, rb_file_identical_p, rb_file_chmod, rb_file_chown,
rb_file_s_link, rb_file_s_symlink, rb_file_s_rename): call
rb_str_encode_ospath() before passing the path to system.
* io.c (rb_sysopen): ditto.
* dir.c (dir_chdir, dir_s_mkdir, dir_s_rmdir): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-30 17:56:23 +00:00
akr
c41dc085d0
* file.c (file_expand_path): call rb_str_set_len before BUFCHECK to
...
prevent rb_str_resize in BUFCHECK discard the content.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-30 03:06:43 +00:00
marcandre
478c3e080b
* eval.c (make_exception, rb_obj_extend): Fix error messages in case of wrong
...
number of arguments
* file.c (rb_f_test, rb_file_s_umask): ditto
* numeric.c (int_chr, num_step): ditto
* process.c (rb_f_sleep): ditto
* re.c (rb_reg_initialize_m): ditto
* signal.c (rb_f_kill, sig_trap): ditto
* string.c (rb_str_aref_m, rb_str_aset_m, rb_str_count, rb_str_delete_bang,
rb_str_slice_bang, rb_str_sub_bang, str_gsub): ditto
* proc.c (curry): rdoc fix
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-30 02:40:57 +00:00
nobu
cb508fe739
* file.c (rb_file_s_extname): skip last directory separators.
...
[ruby-core:29627]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-19 15:43:05 +00:00
nobu
38af94c6ab
* file.c (rb_file_dirname): split from rb_file_s_dirname.
...
* load.c (rb_f_require_relative): use absolute path instead of
expanded path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-30 09:26:09 +00:00
mame
e70499732a
* file.c (rb_get_path_check): prefer #to_path over #to_str. a patch
...
originally written by me, and modified by Nobuyoshi Nakada.
[ruby-core:24257]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-25 14:22:41 +00:00
naruse
152934a300
* file.c (file_expand_path): set length of string before calling
...
rb_enc_check because rb_enc_check scans its content.
This prevents warnings by valgrind.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-24 01:25:02 +00:00
mame
6ff75042db
* compile.c, iseq.c, ruby.c, vm.c, vm_core.h, vm_eval.c: add absolute
...
path field into rb_iseq_t. The field contains a string representing
a path to corresponding source file. or nil when the iseq is created
from -e, stdin, eval, etc. This field is used for require_relative.
[ruby-dev:40004]
* load.c (rb_f_require_relative): add C implementation of
require_relative.
* prelude.rb (require_relative): get rid of Ruby implementation of
require_relative.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-16 17:40:00 +00:00
nobu
b215b9742e
* file.c (file_expand_path): ignore dname if it has different
...
drive letter or UNC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-16 02:23:51 +00:00
nobu
ae0224673e
* file.c (Init_File): do not define File::ALT_SEPARATOR on cygwin.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-14 22:51:08 +00:00
nobu
71f4f96249
* file.c (realpath_rec): use same cache.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-14 22:41:04 +00:00
nobu
b24c8e4dd6
* file.c (file_alt_separator): commit miss.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-14 22:33:09 +00:00
nobu
980a954f11
* file.c (FILE_ALT_SEPARATOR): separated condition.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-14 22:16:12 +00:00
matz
5cff0face3
* file.c (EXPAND_PATH_BUFFER): make it back to usascii, to prevent
...
infinite loop on some platform. [ruby-dev:40629]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-13 22:23:02 +00:00
matz
dc6075844d
* file.c (file_expand_path): should not just copy the encoding
...
from fname. [ruby-core:28635]
* file.c (EXPAND_PATH_BUFFER): set filesystem_encoding, not
usascii for path buffer.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-13 14:50:26 +00:00
shugo
d9fe7ef492
* load.c (rb_get_expanded_load_path): does not expand paths if all
...
the items in $: are absolute paths. [ruby-core:28113]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-13 01:34:38 +00:00
nobu
0884036a0a
* file.c (rb_file_s_basename): check encoding of suffix.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-12 15:44:24 +00:00
akr
785b31bed4
* file.c: add optional basedir argument for realpath/realdirpath.
...
(realpath_internal): handle basedir.
(rb_file_s_realpath): extract basedir from argument list.
(rb_file_s_realdirpath): extract basedir from argument list.
* lib/pathname.rb (realpath): pass basedir.
(realdirpath): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-07 04:55:34 +00:00
naruse
8a144fdedc
* encoding.c (enc_set_filesystem_encoding):
...
filesystem encoding on Mac OS X is now
default external encoding. so Mac OS X is now
treated as one of Unix. [ruby-dev:40439]
* file.c (file_path_convert): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-06 17:11:28 +00:00
nobu
9c45868b41
* file.c (rb_find_file_ext_safe, rb_find_file_safe): skip argument
...
checks in file_expand_path().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-02 05:29:27 +00:00
akr
792b3efa62
* file.c (rb_group_member): renamed from group_member.
...
don't use group_member() in glibc because it's not valgrind clean.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=570047
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-16 12:00:24 +00:00
akr
688ca71c13
* file.c (realpath_rec): rb_path_last_separator may return NULL.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-03 11:08:44 +00:00
nobu
54e45b30cc
* file.c (be_chown, be_fchown, eaccess): suppressed warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-25 09:47:11 +00:00
naruse
d5b0c4b1f3
* dln.c, file.c, io.c, signal.c: add __HAIKU__.
...
patched by Alexander von Gluck [ruby-core:27767]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-25 03:06:06 +00:00
akr
f6f3d1bc0e
* string.c (rb_str_set_len): call rb_str_modify.
...
* file.c (realpath_rec): don't call rb_str_modify before
rb_str_set_len.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-12 12:56:15 +00:00
akr
d60d63ef80
* file.c (realpath_internal): call rb_secure.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-12 11:47:03 +00:00
usa
37ce3f6e0d
* file.c (realpath_rec): trace symbolic link only when supporting
...
readline().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-12 04:35:53 +00:00
akr
853dd6cabe
* prelude.rb (require_relative): use File.realpath. [ruby-dev:40040]
...
* include/ruby/intern.h: declare rb_dir_getwd.
* dir.c (rb_dir_getwd): copied from dir_s_getwd to export.
(dir_s_getwd): use rb_dir_getwd.
* file.c (rb_file_s_realpath): new method File.realpath.
(rb_file_s_realdirpath): new method File.realdirpath.
* lib/pathname.rb (Pathname#realpath): use File.realpath.
(Pathname#realdirpath): use File.realdirpath.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-12 00:32:22 +00:00
akr
3512a38d3b
* file.c (rb_f_test): use string form in unknown command error
...
message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-07 18:51:42 +00:00
naruse
c796b348c6
* file.c (file_path_convert): fix fs_encoding is not assign.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-24 01:20:18 +00:00
naruse
07ae16d18c
* file.c (file_path_convert): delay getting UTF8-MAC encoding
...
while really needed. [ruby-core:26807]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-21 05:45:48 +00:00
usa
4bfd133993
* file.c (file_path_convert): delay getting filesystem encoding
...
while really needed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-18 06:28:19 +00:00
naruse
6c2373ea67
* io.c (rb_scan_open_args): move path encoding conversion
...
for filesystem encoding of Mac OS X.
* file.c (file_path_convert): added for convert encoding
of file path.
* file.c (rb_get_path_check): add file_path_convert.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-18 02:41:25 +00:00
marcandre
705c567194
* string.c: rdoc for <=>, casecmp
...
* bignum.c: rdoc for <=>
* file.c: ditto
* time.c: ditto
* compar.c: rdoc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-28 04:50:09 +00:00
nobu
89afd642aa
* file.c (path_check_0): prevent from GC.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-10 14:57:46 +00:00
usa
d70e9a5568
* win32/win32.c, include/ruby/win32.h (rb_w32_access): new function to
...
replace MSVCRT's access().
[ruby-core:25761]
* file.c (eaccess): workaround for recent MSVCRT is no longer needed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-25 07:04:25 +00:00
nobu
a1485dbea0
* dir.c (GlobPathValue), file.c (rb_get_path_check): path names
...
must be ASCII compatible.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-19 08:33:01 +00:00
nobu
23c95ef6c7
* file.c (stat_data_type): typed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-09 03:01:37 +00:00
nobu
e07cb859cc
* suppressed shorten-64-to-32 warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-18 08:05:32 +00:00
nobu
ca93e00559
* file.c (rb_file_s_basename): returns new string instead of
...
shared string from FilePathStringValue(). [ruby-core:24199]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-08 07:47:09 +00:00
nobu
ae72efc541
* file.c (BUFCHECK): use common bdiff.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-29 08:16:19 +00:00
nobu
b861b2a6b2
* file.c (file_expand_path): should copy original encoding.
...
[ruby-dev:38612]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-29 08:14:39 +00:00
nobu
8b920b4ac8
* file.c (rb_get_path_check): check with given safe level.
...
* file.c (rb_find_file_ext_safe, rb_find_file_safe): ditto.
* safe.c (rb_insecure_operation): function to raise security error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-23 12:28:16 +00:00
nobu
ff1b8b7593
* file.c (rb_find_file_ext, rb_find_file): no needs to expand
...
paths with tilde twice.
* load.c (rb_f_load): load the given path directly if not found in
load_path.
* load.c (search_required): search file in specified safe level.
* load.c (rb_require_safe): path to load is already searched in
search_required().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-23 07:05:04 +00:00
akr
fc64028291
* io.c: remove __CHECKER__ test.
...
* dir.c: ditto.
* dln.c: ditto.
* file.c: ditto.
* process.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-22 12:23:06 +00:00
nobu
7785612a38
* file.c (file_expand_path): drive letter is ascii only.
...
[ruby-dev:38612]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-17 16:29:22 +00:00
nobu
439ad47eb8
* file.c (rb_find_file_ext, rb_find_file): canonicalize absolute
...
paths. [ruby-core:23845]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-14 01:49:23 +00:00
nobu
122018e802
* file.c (rb_file_size): added rdoc. a patch from Run Paint Run
...
Run at [ruby-core:23839].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-14 01:23:21 +00:00
nobu
a860431e3b
* file.c (file_expand_path): associate the input encoding when
...
copying an absolute path. [ruby-dev:38594]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-12 05:56:53 +00:00
nobu
d6d8d973c8
* file.c (istrailinggarbage): fixed typo.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-31 14:26:40 +00:00
nobu
fea2ebff1a
* file.c (rb_file_join): recursive array has no meaning as path
...
name. [ruby-core:23329]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-29 06:22:29 +00:00
akr
8e8ae2a9c5
* node.h (rb_notimplement_body_p): declared.
...
* vm_method.c (Init_eval_method): suppress a warning.
* io.c (rb_io_fsync): use rb_f_notimplement if not implemented.
(rb_io_close_on_exec_p): ditto.
(rb_io_set_close_on_exec): ditto.
(rb_io_fcntl): ditto.
(rb_f_syscall): ditto.
* dir.c (dir_tell): ditto.
(dir_seek): ditto.
(dir_s_chroot): ditto.
* process.c (proc_getpgrp): ditto.
(proc_setpgrp): ditto.
(proc_getpgid): ditto.
(proc_setpgid): ditto.
(proc_setsid): ditto.
(proc_getpriority): ditto.
(proc_setpriority): ditto.
(proc_getrlimit): ditto.
(proc_setrlimit): ditto.
(p_sys_setuid): ditto.
(p_sys_setruid): ditto.
(p_sys_seteuid): ditto.
(p_sys_setreuid): ditto.
(p_sys_setresuid): ditto.
(p_sys_setgid): ditto.
(p_sys_setrgid): ditto.
(p_sys_setegid): ditto.
(p_sys_setregid): ditto.
(p_sys_setreuid): ditto.
(p_sys_setresgid): ditto.
(p_sys_issetugid): ditto.
(proc_getgroups): ditto.
(proc_setgroups): ditto.
(proc_initgroups): ditto.
(proc_daemon): ditto.
(rb_proc_times): ditto.
* file.c (rb_file_s_lchown): ditto.
(rb_file_s_link): ditto.
(rb_file_s_symlink): ditto.
(rb_file_s_readlink): ditto.
(rb_file_s_truncate): ditto.
(rb_file_truncate): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-16 16:58:06 +00:00
akr
8b27d153d2
* class.c (rb_define_method_id): use rb_define_notimplement_method_id
...
if rb_f_notimplement is given.
(rb_define_protected_method): ditto.
(rb_define_private_method): ditto.
(rb_define_method): use rb_define_method_id.
* include/ruby/intern.h (rb_f_notimplement): declared.
(rb_define_notimplement_method_id): declared.
* proc.c (method_inspect): show not-implemented.
* vm_method.c (notimplement_body): new variable.
(rb_notimplement_body_p): new function.
(rb_method_boundp): return false if not implemented.
(rb_f_notimplement): new function.
(rb_define_notimplement_method_id): new function.
* process.c (rb_f_fork): use rb_f_notimplement if not implemented.
* file.c (rb_file_s_lchmod): use rb_f_notimplement if not implemented.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-16 14:17:14 +00:00
nobu
228d3e46a3
* file.c (utime_failed): refined the error message for EINVAL on
...
DOSISH platforms, where it may fail depending on filesystems.
see [ruby-dev:38277].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-06 10:26:20 +00:00
nobu
a3a88c6bcd
* file.c (sys_fail2, rb_file_s_readlink, BUFCHECK, rmext),
...
(rb_file_s_basename): get rid of overflow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-06 07:38:52 +00:00
knu
61e6f9b81c
* file.c (rb_file_s_lstat): Back out.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-23 10:22:49 +00:00
knu
fe3de995b6
* file.c (rb_file_s_stat, rb_file_s_lstat): Remove repeated type
...
checks.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-23 10:00:57 +00:00
nobu
b7800329d3
* configure.in (RUBY_CHECK_SIZEOF): allows qualified name.
...
* configure.in (RUBY_REPLACE_TYPE): checks more strictly.
* configure.in (struct stat.st_size, struct stat.st_blocks),
(struct stat.st_ino): check for size.
* lib/mkmf.rb (check_sizeof): allows qualified name.
* file.c (rb_stat_ino, rb_stat_blocks): check by size.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-19 09:49:51 +00:00
nobu
0164396029
* dln.c (init_funcname_len, dln_find_exe_r, dln_find_file_r): use
...
size_t.
* file.c (rb_stat_inspect, file_expand_path): ditto.
* util.c (ruby_qsort): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-14 01:56:15 +00:00
nobu
2b9df35cd0
* configure.in (RUBY_CHECK_HUGE): checks whether a value range is
...
larger than long.
* file.c (rb_stat_blocks): struct stat.st_blocks may be larger
than long.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-11 20:27:07 +00:00
akr
27475f4dec
* file.c: include fcntl.h for O_RDONLY on Solaris.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-02 12:02:22 +00:00
nobu
8d325b6bbc
* file.c (file_load_ok): cygwin allows to open directories.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-27 09:14:17 +00:00
nobu
12331d4939
* file.c (file_load_ok): checks if regular file, except for the
...
platform disallows to open directories, e.g. cygwin.
[ruby-dev:38097], [Bug #1221 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-27 08:45:26 +00:00
nobu
5f47ed9b59
* file.c (file_load_ok): checks if regular file. [ruby-dev:38097]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-27 06:49:43 +00:00
akr
9594c893f7
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 23:46:39 +00:00
akr
01e9a7be61
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 17:18:55 +00:00
akr
4b265d3e7b
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 17:07:38 +00:00
matz
8428347e99
* file.c (rb_file_size): new method added. [ruby-core:22088]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 15:45:16 +00:00
nobu
4caba4ebd0
* file.c (rb_home_dir): checks if HAVE_PWD_H. [ruby-dev:38049]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-19 04:56:01 +00:00
nobu
58f9782527
* file.c (rb_file_chown): use chown unless HAVE_FCHOWN.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-18 06:35:38 +00:00
nobu
5f9342fa8a
* file.c (rb_file_s_extname): fix for spaces before extention.
...
[ruby-dev:38044]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-18 03:35:34 +00:00
nobu
656e005ac0
* file.c: removed trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-18 03:04:49 +00:00
nobu
17aa3d898d
* file.c (file_expand_path): suppress a warning. named magic
...
numbers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-18 03:01:03 +00:00
nobu
ce44723cf8
* file.c (rb_find_file_ext): should not be infected from other
...
load paths.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-02 08:05:59 +00:00
nobu
aac16ed13e
* file.c (rb_home_dir): needs p on DOSISH.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-02 07:59:35 +00:00
nobu
043f665274
* dir.c (dir_s_home): new method. [ruby-core:21454]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-02 07:33:08 +00:00
matz
c6af6b1b94
* symbian/README.SYMBIAN: symbian support added. great appreciate
...
to <alexandre.zavorine at symbian.com>.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15 01:53:08 +00:00
matz
8b7b9e33a5
* file.c (rb_file_s_stat): need type check for non string values.
...
[ruby-dev:37673] fix : #964
* file.c (rb_file_s_size, rb_file_s_atime, rb_file_s_mtime,
rb_file_s_ctime, rb_f_test): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-04 23:59:20 +00:00
naruse
a928613a31
revert previous changes.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29 02:56:23 +00:00
naruse
1ebed6c614
* file.c (rb_get_path): move encoding conversion of file path
...
from rb_scan_open_args.
* io.c (rb_scan_open_args): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29 02:01:02 +00:00
matz
c5ce3ea019
* file.c (rb_file_world_writable_p): should return nil for non
...
world-writable files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-22 09:28:43 +00:00
yugui
642e081879
* dln.c: Ruby no longer supports MacOS 9 or before.
...
* eval.c: ditto.
* eval_intern.h: ditto.
* ext/extmk.rb: ditto.
* ext/tk/sample/tkextlib/treectrl/demo.rb: ditto.
* ext/tk/stubs.c: ditto.
* file.c: ditto.
* hash.c: ditto.
* include/ruby/defines.h: ditto.
* ruby.c: ditto.
* signal.c: ditto.
* vm_core.h: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-04 13:42:00 +00:00
yugui
8dd118c0db
* djgpp/GNUmakefile.in: removed. Ruby no longer supports djgpp.
...
* djgpp/README.djgpp: ditto.
* djgpp/config.hin: ditto.
* djgpp/config.sed: ditto.
* djgpp/configure.bat: ditto.
* djgpp/mkver.sed: ditto.
* ext/Setup.dj: ditto.
* dln.c: removed djgpp supports.
* file.c: ditto.
* gc.c: ditto.
* io.c: ditto.
* process.c: ditto.
* ruby.c: ditto.
* signal.c: ditto.
* util.c: ditto.
* vm_core.h: ditto.
* lib/fileutils.rb: ditto.
* lib/mkmf.rb: ditto.
* ext/socket/socket.c: ditto.
* test/fileutils/test_fileutils.rb: ditto.
* test/ruby/test_env.rb: ditto.
* test/ruby/test_path.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-04 13:25:12 +00:00
nobu
605a46dd05
* file.c (rb_file_s_extname): preceding dots are not a part of
...
extension.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-26 19:28:44 +00:00
nobu
9320b5c65f
* file.c (rmext): preceding dots are not a part of extension.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-26 18:57:23 +00:00
akr
a0d163da71
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-07 08:02:21 +00:00
matz
0771b987a4
* file.c (file_expand_path): applied a patch from Nobuhiro Tachino
...
in [ruby-dev:35948]. fix #491
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 22:15:18 +00:00
akr
b94060024d
* file.c (rb_find_file): fix GC problem on Debian GNU/Linux (IA64)
...
with gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21).
There is no register/memory to contain load_path. A register (r35)
contains &RARRAY_PTR(load_path), (char*)load_path + 32.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 00:05:30 +00:00
ko1
204929af9d
* include/ruby/signal.h: removed.
...
* common.mk, class.c, eval.c, eval_intern.h, file.c, gc.c, hash.c,
io.c, process.c, signal.c: vm_core.h: ditto.
Some unused external global variables are also removed.
(rb_prohibit_interrupt, rb_trap_immediate, rb_trap_pending,
rb_thread_critical)
* ext/openssl/ossl_ssl.c, ext/openssl/ossl_x509store.c,
ext/readline/readline.c, ext/socket/depend,
ext/socket/socket.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-03 08:00:05 +00:00
ko1
ca6a8b1e2c
* include/ruby/intern.h: rename RB_UBF_DFL to
...
RUBY_UBF_IO and RUBY_UBF_PROCESS.
Because there is no default (universal) unblocking function.
* ext/socket/socket.c, file.c, io.c, process.c, thread.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-31 07:44:24 +00:00
nobu
24aba08054
* include/ruby/intern.h (rb_file_s_absolute_path),
...
(rb_file_absolute_path): prototyped.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-29 23:59:32 +00:00
mame
2fcd15d45d
* file.c (file_expand_path): check invalid access.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 15:03:38 +00:00
matz
d68321c18e
* file.c (rb_file_s_expand_path): new class method for class File.
...
* file.c (file_expand_path): add absolute_path handling (no ~user
expansion). [ruby-core:18319]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 03:51:22 +00:00
akr
895fd7ec5e
* include/ruby/io.h (rb_io_t): remove path field and add pathv field.
...
(MakeOpenFile): initialize pathv as Qnil.
* gc.c: mark pathv field in T_FILE.
* io.c: follow the rb_io_t field change.
* file.c: ditto.
* ext/socket/socket.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-23 00:47:54 +00:00
akr
cefd28a84f
* file.c (rb_stat_inspect): don't raise if self is not initialized.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-21 10:20:55 +00:00
nobu
f1ff09fbf6
* array.c (rb_ary_sort_bang): reset to real class.
...
* file.c (rb_find_file_ext, rb_find_file): ditto.
* io.c (io_reopen): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-05 20:08:33 +00:00
nobu
9a7def6ea9
* file.c (rb_stat_mode): generalized st_mode mask.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-05 05:19:45 +00:00
nobu
e7d2f303b7
* file.c (rb_find_file_ext, rb_find_file): converts Windows style path
...
to Cygwin path. [ruby-dev:35647]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-28 20:38:04 +00:00
nobu
31aa0986b8
* file.c (rb_find_file_ext, rb_find_file): not to split load path with
...
path separator. [ruby-Bugs-21356]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-28 09:15:48 +00:00
nobu
d81ffff0e8
* file.c (rb_find_file_ext, rb_find_file): converts Windows style path
...
to Cygwin path. [ruby-dev:35647]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-24 15:10:31 +00:00
nobu
0acca9a826
* compile.c (insn_data_to_s_detail), file.c (rb_stat_inspect),
...
iseq.c (ruby_iseq_disasm_insn, ruby_iseq_disasm),
process.c (pst_message), re.c (match_inspect): use rb_str_catf.
* dir.c (dir_inspect), iseq.c (iseq_inspect, insn_operand_intern): use
rb_sprintf.
* error.c (rb_name_error, rb_raise, rb_loaderror, rb_fatal): use
rb_vsprintf.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-22 08:53:34 +00:00
nobu
4b843da869
* file.c (rb_file_s_extname): fix for file name with spaces.
...
[ruby-talk:307404]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-06 16:24:45 +00:00
nobu
1df1cb307e
* file.c (file_expand_path): no need to expand root path which has no
...
short file name. [ruby-dev:35095]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-14 07:56:06 +00:00
nobu
5a647a3f5f
* include/ruby/ruby.h (CONST_ID): constant ID cache for non-gcc.
...
* *.c: no cache in init functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-09 09:25:32 +00:00
ko1
72ba13aa8e
* array.c, bignum.c, cont.c, dir.c, dln.c, encoding.c, enumerator.c,
...
enumerator.c (enumerator_allocate), eval_jump.c, file.c, hash.c,
io.c, load.c, pack.c, proc.c, random.c, re.c, ruby.c, st.c,
string.c, thread.c, thread_pthread.c, time.c, util.c, variable.c,
vm.c, gc.c:
allocated memory objects by xmalloc (ruby_xmalloc) should be
freed by xfree (ruby_xfree).
* ext/curses/curses.c, ext/dbm/dbm.c, ext/digest/digest.c,
ext/gdbm/gdbm.c, ext/json/ext/parser/parser.c,
ext/json/ext/parser/unicode.c, ext/openssl/ossl_cipher.c,
ext/openssl/ossl_hmac.c, ext/openssl/ossl_pkey_ec.c,
ext/sdbm/init.c, ext/strscan/strscan.c, ext/zlib/zlib.c:
ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-08 10:01:40 +00:00
nobu
552d3a5bcc
* file.c (file_expand_path): fix for non-existent files and SFN of
...
symlinks. [ruby-talk:303736]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-03 07:06:23 +00:00
nobu
7c5e3348f7
* suppress warnings on cygwin, mingw and mswin.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-01 19:55:25 +00:00
usa
ea16f7dfc9
* file.c (BUFCHECK): wrong condition. [ruby-core:16921]
...
* file.c (file_expand_buf): shouldn't use buflen for length of string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-27 03:07:55 +00:00
nobu
c3b10e7fcb
* file.c (BUFCHECK): no resize if enough room.
...
* file.c (file_expand_path): use BUFCHECK.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-26 09:24:56 +00:00
usa
224efac340
* file.c (file_expand_path): add more space for '/'.
...
* file.c (file_expand_path): should reset address of p after calling
rb_str_resize(). [ruby-dev:34800]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-26 08:25:44 +00:00
usa
3ecb126e92
* file.c (ntfs_tail): filename which starts with '.' is valid.
...
* file.c (file_expand_path): cygwin symlink support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-26 07:45:49 +00:00
nobu
04351d9558
* file.c (file_expand_path): fix for short file name on Cygwin.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 14:54:07 +00:00
nobu
34c96140f3
* file.c (rb_file_s_extname): first dot is not an extension name.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 02:29:13 +00:00
nobu
22361a3d1c
* file.c (file_expand_path): support for alternative data stream
...
and ignored trailing garbages of NTFS.
* file.c (rb_file_s_basename): ditto.
* file.c (rb_file_s_extname): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 06:34:02 +00:00
akr
b938618359
* file.c (rb_find_file_ext): guard load_path from GC.
...
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) optimizes
load_path by holding only RARRAY_LEN(load_path) and
RARRAY_PTR(load_path) in registers on IA64 GNU/Linux Etch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-08 07:46:30 +00:00
nobu
4264ca9436
* dln.c (dln_find_exe_r, dln_find_file_r): reentrant versions.
...
* file.c (rb_find_file_ext, rb_find_file), process.c (proc_exec_v),
(rb_proc_exec, proc_spawn_v, proc_spawn), ruby.c (process_options):
use reentrant versions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-07 21:43:54 +00:00
nobu
01b773a093
* load.c (rb_load_path), vm_core.h (rb_vm_t): moved to VM.
...
* load.c (rb_get_load_path): returns absolute load path.
* load.c (load_path_getter): $LOAD_PATH getter.
* file.c (rb_find_file_ext, rb_find_file), ruby.c (push_include,
ruby_init_loadpath): use the accessor.
* vm.c (rb_vm_mark): mark load_path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-30 09:03:03 +00:00
usa
915b5c5508
* file.c (eaccess): workaround for recent msvcrt's behavior.
...
[ruby-core:16460]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-22 00:58:04 +00:00
nobu
5e433ffc6c
* file.c (file_expand_path): constified.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-20 06:19:28 +00:00
matz
755a86b87a
* file.c (SET_EXTERNAL_ENCODING): avoid call rb_enc_check() on
...
half-baked result string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-14 13:45:26 +00:00
nobu
0ae6c7f816
* file.c (file_expand_path): set external encoding.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-11 18:13:40 +00:00
nobu
23bb4d7898
* file.c (rb_file_s_basename, rb_file_s_dirname, rb_file_s_extname):
...
copy encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-11 18:12:18 +00:00
nobu
31b604a3f3
* file.c (isdirsep): backslash is valid path separator on cygwin too.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-08 09:51:00 +00:00
nobu
12551ae573
* file.c (rb_file_flock): returns false on EAGAIN if non-blocking.
...
[ruby-core:15795]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-05 08:53:08 +00:00
nobu
5848032ce5
* file.c (rb_file_flock): immediately returns on EAGAIN if
...
non-blocking. [ruby-core:15672]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-28 02:43:59 +00:00
nobu
4804658649
* configure.in (ftruncate): check if available.
...
* file.c (rb_file_truncate): check if ftruncate instead of truncate.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-14 17:42:27 +00:00
nobu
3a9bf2f124
* file.c (rb_file_s_utime): inhibits with secure level 2 or higher.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-14 07:02:54 +00:00
naruse
998113d62f
* file.c (lchmod_internal): fix warning cast from pointer to integer of
...
different size.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-08 16:10:27 +00:00
naruse
42dcda08ae
* string.c (rb_str_usascii_new{,2}: defined.
...
(rb_str_new): set US-ASCII and ENC_CODERANGE_7BIT when empty
string.
* encoding.c (rb_usascii_encoding, rb_usascii_encindex): defined.
(rb_enc_inspect, enc_name, rb_locale_charmap, rb_enc_name_list_i):
use rb_str_ascii_new.
* array.c (recursive_join, inspect_ary): ditto.
* object.c (nil_to_s, nil_inspect, true_to_s, false_to_s,
rb_mod_to_s): ditto.
* hash.c (inspect_hash, rb_hash_inspect, rb_f_getenv, env_fetch,
env_clear, env_to_s, env_inspect): ditto.
* numeric.c (flo_to_s, int_chr, rb_fix2str): ditto.
* bignum.c (rb_big2str): ditto.
* file.c (rb_file_ftype, rb_file_s_dirname, rb_file_s_extname,
file_inspect_join, Init_file): ditto.
* test/ruby/test_ruby_m17n.rb: add checks for encoding of string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-25 16:40:02 +00:00
nobu
2402ecabb0
* file.c (sys_fail2): get rid of unlimited alloca.
...
* io.c (mode_enc, pipe_open, rb_io_s_popen): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-16 05:55:22 +00:00
akr
6cdef2dc7e
* $Date$ keyword removed to avoid inclusion of locale dependent
...
string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-06 15:49:38 +00:00
akr
041e829127
* include/ruby/encoding.h (rb_isascii): defined.
...
(rb_isalnum): ditto.
(rb_isalpha): ditto.
(rb_isblank): ditto.
(rb_iscntrl): ditto.
(rb_isdigit): ditto.
(rb_isgraph): ditto.
(rb_islower): ditto.
(rb_isprint): ditto.
(rb_ispunct): ditto.
(rb_isspace): ditto.
(rb_isupper): ditto.
(rb_isxdigit): ditto.
(rb_tolower): ditto.
(rb_toupper): ditto.
* include/ruby/st.h (st_strcasecmp): declared.
(st_strncasecmp): ditto.
* st.c (type_strcasehash): use st_strcasecmp instead of strcasecmp.
(st_strcasecmp): defined.
(st_strncasecmp): ditto.
* include/ruby/ruby.h: include include/ruby/encoding.h.
(ISASCII): use rb_isascii.
(ISPRINT): use rb_isprint.
(ISSPACE): use rb_isspace.
(ISUPPER): use rb_isupper.
(ISLOWER): use rb_islower.
(ISALNUM): use rb_isalnum.
(ISALPHA): use rb_isalpha.
(ISDIGIT): use rb_isdigit.
(ISXDIGIT): use rb_isxdigit.
(TOUPPER): defined.
(TOLOWER): ditto.
(STRCASECMP): ditto.
(STRNCASECMP): ditto.
* dir.c, encoding.c, file.c, hash.c, process.c, ruby.c, time.c,
transcode.c, ext/readline/readline.c: use locale insensitive
functions. [ruby-core:14662]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-01 12:24:04 +00:00
matz
bda85cb021
* file.c (Init_File): File.exists? revived.
...
* dir.c (Init_Dir): Dir.exists? again.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-21 03:34:26 +00:00
akr
b92cee1ddb
* re.c, regerror.c, string.c, parse.y, ruby.c, file.c:
...
use capital letter for \xHH notation. [ruby-dev:32511]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-12 14:30:54 +00:00
akr
f4592d7bb0
* re.c (rb_reg_expr_str): use \xHH instead of \OOO.
...
* regerror.c (to_ascii): ditto.
(onig_snprintf_with_pattern): ditto.
(onig_snprintf_with_pattern): ditto.
* string.c (rb_str_inspect): ditto.
(rb_str_dump): ditto.
* parse.y (parser_yylex): ditto.
* ruby.c (proc_options): ditto.
* file.c (rb_f_test): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-09 21:48:05 +00:00
akr
3a8f7f1d7f
* include/ruby/ruby.h (FilePathStringValue): defined. similar to
...
FilePathValue but no taint check.
* file.c (rb_get_path_no_checksafe): implementation of
FilePathStringValue.
(rb_file_s_basename): use FilePathStringValue.
(rb_file_s_dirname): ditto.
(rb_file_s_extname): ditto.
(rb_file_s_split): ditto.
(rb_file_join): ditto.
* dir.c (file_s_fnmatch): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-09 05:12:31 +00:00
nobu
54f236542d
* file.c (rb_get_path): use the original object if to_path method is
...
not defined. [ruby-dev:32473]
* io.c (rb_f_open): call to_open on non-string objects, instead of
to_str. [ruby-dev:32473]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-09 03:18:21 +00:00
ko1
3453b2bd0e
* gc.h, vm_core.h: decl of rb_gc_save_machine_context()
...
should be at vm_core.h.
* include/ruby/ruby.h, intern.h: remove type rb_thread_t.
* include/ruby/intern.h: change rb_unblock_function_t,
rb_unblock_function_t.
* file.c, process.c: apply above changes.
* thread.c, thread_pthread.ci, thread_win32.ci: ditto.
* io.c: support blocking open (2). [ruby-core:13614]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-20 10:47:53 +00:00
akr
63a297994b
* file.c (utime_internal): fallback utimensat to utimes.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-19 09:48:00 +00:00
akr
a070c4fbe3
* configure.in: check struct timespec, clock_gettime, utimensat,
...
struct stat.st_atim,
struct stat.st_atimespec,
struct stat.st_atimensec,
struct stat.st_mtim,
struct stat.st_mtimespec,
struct stat.st_mtimensec,
struct stat.st_ctim,
struct stat.st_ctimespec,
struct stat.st_ctimensec.
* include/ruby/missing.h: provide struct timespec if not available.
* time.c: support nanosecond-resolution using struct timespec.
* include/ruby/intern.h: provide rb_time_nano_new.
* file.c (utime_internal): use utimensat if available.
(rb_file_s_utime): refactored.
(rb_f_test): use stat_atime, stat_mtime, stat_ctime.
(rb_stat_cmp): check tv_nsec.
(stat_atimespec): new function.
(stat_atime): ditto.
(stat_mtimespec): ditto.
(stat_mtime): ditto.
(stat_ctimespec): ditto.
(stat_ctime): ditto.
(rb_stat_atime): use stat_atime.
(rb_file_s_atime): ditto.
(rb_file_atime): ditto.
(rb_stat_mtime): use stat_mtime.
(rb_file_s_mtime): ditto.
(rb_file_mtime): ditto.
(rb_file_ctime): use stat_ctime.
(rb_file_s_ctime): ditto.
(rb_stat_ctime): ditto.
* variable.c (rb_copy_generic_ivar): clear clone's instance variables
if obj has no instance variable.
* marshal.c (w_object): dump instance variables of generated string
for TYPE_USERDEF, even if original object has instance variables.
* lib/time.rb (Time#xmlschema): use nsec instead of usec.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-19 09:09:38 +00:00
matz
7a978073c9
* parse.y (parser_yylex): should clear parser->tokp as well.
...
[ruby-dev:32250]
* parse.y: remove NEED_ASSOC that break test_parser_events.
* parse.y (parser_yylex): should not decrement line numbers at the
end of file.
* file.c (rb_find_file_ext): search .rb files first through in the
loadpath.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-19 07:10:09 +00:00
nobu
6c77d58356
* file.c (rb_get_path): returns frozen string.
...
* file.c (rb_file_s_chown, rb_file_s_lchown): use uid_t and gid_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-20 02:49:22 +00:00
ko1
6244e502cc
* thread.c: fix Mutex to be interruptable lock.
...
* thread_win32.ci, thread_win32.h, thread_pthread.ci, thread_pthread.h:
prepare native_cond_*() which are based on pthread_cond_*() spec.
* prelude.rb: fix Mutex#synchronize method.
* vm_core.h, include/ruby/intern.h: change unblock function interface
(to pass some user data).
* file.c, process.c: ditto.
* benchmark/bm_vm2_mutex.rb: add a benchmark for mutex.
* benchmark/bm_vm3_thread_mutex.rb: add a benchmark for mutex
with contension.
* benchmark/run.rb: fix to remove ENV['RUBYLIB'] for matzruby.
* test/ruby/test_thread.rb: add a test.
* common.mk: fix benchmark options.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-27 16:48:14 +00:00
matz
a25fbe3b3e
* encoding.c: provide basic features for M17N.
...
* parse.y: encoding aware parsing.
* parse.y (pragma_encoding): encoding specification pragma.
* parse.y (rb_intern3): encoding specified symbols.
* string.c (rb_str_length): length based on characters.
for older behavior, bytesize method added.
* string.c (rb_str_index_m): index based on characters. rindex as
well.
* string.c (succ_char): encoding aware succeeding string.
* string.c (rb_str_reverse): reverse based on characters.
* string.c (rb_str_inspect): encoding aware string description.
* string.c (rb_str_upcase_bang): encoding aware case conversion.
downcase, capitalize, swapcase as well.
* string.c (rb_str_tr_bang): tr based on characters. delete,
squeeze, tr_s, count as well.
* string.c (rb_str_split_m): split based on characters.
* string.c (rb_str_each_line): encoding aware each_line.
* string.c (rb_str_each_char): added. iteration based on
characters.
* string.c (rb_str_strip_bang): encoding aware whitespace
stripping. lstrip, rstrip as well.
* string.c (rb_str_justify): encoding aware justifying (ljust,
rjust, center).
* string.c (str_encoding): get encoding attribute from a string.
* re.c (rb_reg_initialize): encoding aware regular expression
* sprintf.c (rb_str_format): formatting (i.e. length count) based
on characters.
* io.c (rb_io_getc): getc to return one-character string.
for older behavior, getbyte method added.
* ext/stringio/stringio.c (strio_getc): ditto.
* io.c (rb_io_ungetc): allow pushing arbitrary string at the
current reading point.
* ext/stringio/stringio.c (strio_ungetc): ditto.
* ext/strscan/strscan.c: encoding support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-25 03:29:39 +00:00
nobu
42850db14b
* configure.in (group_member): check if presents.
...
* configure.in (XCFLAGS): add _GNU_SOURCE on linux.
* file.c (group_member): use system routine if available.
* process.c: moved _GNU_SOURCE macro to Makefile.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-23 08:25:12 +00:00
nobu
f1622c195d
* file.c (rb_file_s_rename): deleted code to get rid of a bug of
...
old Cygwin.
* file.c (rb_file_truncate): added prototype of GetLastError()
on cygwin. [ruby-dev:31239]
* include/ruby/intern.h (is_ruby_native_thread): prototype.
* missing/strftime.c (strftime): fix printf format and actual
arguments.
* ext/Win32API/Win32API.c (Win32API_initialize): ditto.
* ext/tk/tcltklib.c (ip_finalize): ditto.
* ext/win32ole/win32ole.c (lcid_installed): ditto.
* ext/socket/getnameinfo.c: include stdio.h always.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-22 05:33:54 +00:00
nobu
2b592580bf
* include/ruby: moved public headers.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-10 03:06:15 +00:00
nobu
62b3932c9c
* file.c (Init_File): method definition mismatch.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-18 16:04:22 +00:00
matz
dcb9f150e5
* file.c (Init_File): add to_path method to File objects.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-18 07:57:51 +00:00
nobu
7b0f246345
* file.c (rb_stat_uid, rb_stat_gid, eaccess): use rb_uid_t and
...
rb_gid_t instead of int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-04 14:41:16 +00:00
nobu
9b7ecc68a9
* file.c (rb_stat_s_utime): fixed a commit miss for the platforms
...
where utimes() does not exist.
* lib/fileutils.rb (touch): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-04 14:38:02 +00:00
nobu
15dabe8216
* file.c (rb_file_s_utime): allow nil to set the current time.
...
* lib/fileutils.rb (touch): ditto, and added :mtime and :nocreate
options. fixed: [ruby-talk:219037]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-03 13:37:02 +00:00
nobu
5b10c170e5
* file.c, gc.c, io.c, ruby.h, rubyio.h, win32/win32.h (rb_io_t):
...
renamed from OpenFile.
* ext/dl/cptr.c, ext/io/wait/wait.c, ext/openssl/ossl.h,
ext/openssl/ossl_bio.c, ext/openssl/ossl_ssl.c, ext/pty/pty.c,
ext/readline/readline.c, ext/socket/socket.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-24 10:30:50 +00:00
nobu
8ac59769bc
* file.c (rb_thread_flock, rb_file_flock): use UBF feature.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-24 09:45:41 +00:00
usa
61fbdef349
* file.c (rb_find_file): should not call fpath_check() with NULL.
...
fixed: [ruby-core:09867]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-09 08:50:04 +00:00
matz
7c96418526
* object.c (Init_Object): new method Dir.exist?(path).
...
[ruby-core:09663]
* file.c (Init_File): remove File.exists?; use File.exist?
instead.
* file.c: rename functions to test_* to rb_file_*_p.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-07 15:18:14 +00:00
matz
5dd8f6e20c
* file.c (test_grpowned, rb_stat_grpowned): should honor
...
supplementary group IDs. [ruby-core:09546]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-11-22 08:37:11 +00:00
nobu
b96af08add
* file.c (rb_path_end): skip root directory. fixed: [ruby-core:08913]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-25 12:25:29 +00:00
matz
5cc2093ccd
* hash.c (recursive_hash): remove unused local variable.
...
* parse.y (parser_yylex): ditto.
* parse.y (rb_gc_mark_symbols): fix unmatched prototype .
* file.c (rb_get_path): check NUL byte in the path string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-25 05:57:37 +00:00
nobu
352303c906
* file.c: ISPRINT() needs ctype.h
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-10 00:41:44 +00:00
matz
0f785c3840
* file.c (rb_f_test): test(0) should not have any special
...
meaning. [ruby-dev:29425]
* file.c (rb_f_test): properer error message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-09 16:19:33 +00:00
nobu
585c61691e
* file.c (path_check_0, fpath_check): disable path check on cygwin.
...
[ruby-talk:213074]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-07 14:28:36 +00:00
nobu
b9a508bb96
* file.c (path_check_0): check if sticky bit is set on parent
...
directories for executable path. fixed: [ruby-dev:29415]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-04 20:50:13 +00:00
matz
2156870525
* ruby.h (struct RArray): embed small arrays.
...
(RARRAY_LEN): defined for accessing array members.
(RARRAY_PTR): ditto.
* array.c: use RARRAY_LEN and RARRAY_PTR.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-02 14:42:08 +00:00
usa
5b5e4a6fc1
* file.c (test_identical, rb_file_s_truncate): use RSTRING_PTR and
...
RSTRING_STR.
* io.c (pipe_open, rb_io_reopen): ditto.
* process.c (proc_spawn_n, rb_spawn): ditto.
* util.c (ruby_add_suffix): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-31 11:24:44 +00:00
matz
54af80844f
* ruby.h (struct RString): embed small strings.
...
(RSTRING_LEN): defined for accessing string members.
(RSTRING_PTR): ditto.
* string.c: use RSTRING_LEN and RSTRING_PTR.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-31 10:47:44 +00:00
drbrain
b963ffbf1d
Fix documentation submitted by Rick Ohnemus. ruby-Bugs-5529. [ruby-core:08725]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-27 22:25:08 +00:00
nobu
f50c13da99
* file.c (rb_file_s_rename): use errno if set properly.
...
fixed: [ruby-dev:29293]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-19 02:29:18 +00:00
nobu
79b82a8749
* file.c (rb_stat_[rRwWxX]): check for super user.
...
fixed: [ruby-core:08616]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-17 10:15:55 +00:00
matz
c09cea5e1b
* object.c (rb_mod_attr): make Module#attr to be an alias to
...
attr_reader. [RCR#331]
* ruby.h: export classes/modules to implement sandbox.
[ruby-core:08283]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-20 17:36:36 +00:00
matz
1b7465e893
* eval.c, file.c, etc.: code-cleanup patch from Stefan Huehner
...
<stefan at huehner.org>. [ruby-core:08029]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-20 18:02:17 +00:00
matz
7b48490222
* eval.c (Init_eval): add aliases invoke_method and
...
invoke_functional_method corresponding send and funcall
respectively. [ruby-talk:197512]
* parse.y (parser_yylex): returns the most typical keyword token
on EXPR_FNAME. [ruby-core:7995]
* ext/socket/socket.c: protoize.
* parse.y (then): remove ':' from 'then' and 'do' rules.
* hash.c (env_aset): raise TypeError on nil with more descriptive
message. [ruby-core:07990]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-17 14:50:04 +00:00
ocean
488b3d6819
* file.c: commit miss?
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-06 07:26:16 +00:00
eban
b29ad4cd95
* file.c (cygwin_flock): save old errno.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-06 07:13:53 +00:00
eban
895778951e
* file.c (rb_thread_flock): ERROR_NOT_LOCKED is not an error on Cygwin.
...
In such situation, flock() should return 0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-06 07:06:22 +00:00
nobu
a26039acbc
* configure.in, dln.c, file.c, intern.h, missing.h (eaccess): use
...
system routine if provided. fixed: [ruby-core:07195]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-25 13:30:11 +00:00
ocean
4678e9340a
* file.c (rb_file_s_chmod): avoid warning where sizeof(int) !=
...
sizeof(void*).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-13 18:44:34 +00:00
akr
935712e8e4
(rb_f_test): fix document. [ruby-dev:28087]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-21 09:20:15 +00:00
ocean
b36585ce42
* file.c (w32_io_info): should return handle because FileIndex is
...
valid only while file is open. [ruby-dev:28088]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-21 07:53:55 +00:00
ocean
427c2754e9
* file.c (w32_io_info): CreateFile failed on Win9x if file was already
...
opened. (FILE_SHARE_READ was needed, but actually I don't understand
the flags of CreateFile well...)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-23 16:32:47 +00:00
ocean
29bcbe5c5e
* file.c (w32_io_info): should not call GetFileInformationByHandle
...
for pipe.
* file.c (w32_io_info): checks return value from rb_w32_get_osfhandle.
* file.c (w32_io_info): now can identify directory on WinNT.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-23 09:56:23 +00:00
nobu
4ef75249df
* file.c (test_identical): test if two files are identical.
...
* file.c (rb_f_test): support DOSISH systems where st_ino is not
reliable. fixed: [ruby-core:06672]
* win32.h, win32.c (rb_w32_osid): check the running platform.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-22 16:26:39 +00:00
usa
333e8b294d
* file.c (rb_file_s_basename): skip slashes just after UNC top slashes.
...
* test/ruby/test_path.rb (test_dirname, test_basename): follow new
spec. and add new tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-22 05:39:50 +00:00
nobu
1ce26d09fe
* file.c (rb_file_s_basename): DOSISH_UNC is defined on cygwin but
...
DOSISH is not. fixed: [ruby-dev:27797]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-21 16:47:13 +00:00
nobu
e4b2293712
* file.c (rb_path_skip_prefix, rb_file_s_basename): UNC without path
...
should not be splitted. fixed: [ruby-dev:27776] [ruby-dev:27786]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-21 13:21:47 +00:00
usa
a8abed1256
* file.c (rb_file_s_dirname): should use skipprefix for UNC path.
...
pointed out by nobu ([ruby-dev:27744]). fixed: [ruby-core:5076]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-18 09:09:25 +00:00
usa
7b692e55cd
* file.c (file_s_dirname): added checks for some patterns with drive
...
letter. fixed: [ruby-dev:27738]
* test/ruby/test_path.rb (test_dirname): added tests for above
patterns.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-18 07:51:19 +00:00
nobu
1867a3f498
* file.c (file_load_ok): eaccess() returns 0 on success.
...
fixed: [ruby-dev:27713]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-15 14:55:16 +00:00
matz
d0f784a071
* file.c (file_load_ok): use eaccess() instead of actually opening
...
the file. [ruby-talk:156378]
* lib/jcode.rb (String::reverse): add new methods.
[ruby-list:41245]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-15 07:16:46 +00:00
nobu
c90546cac6
* file.c (rb_file_s_readlink): ERANGE will occur only on GPFS.
...
[ruby-dev:27699]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-14 14:52:55 +00:00
ocean
0535fc9cac
* configure.in: undef HAVE_LINK on BeOS. (link(2) always returns
...
EINVAL, and this causes error in test/fileutils.)
* file.c: overwride chown(2) and fchown(2) on BeOS. (these functions
should not change user/group id if -1 is passed as corresponding
argument, and this causes error in test/fileutils too)
[ruby-dev:27672]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-10 22:43:38 +00:00
nobu
556a7ac35f
* file.c (rb_file_s_readlink): readlink(2) on AIX fails with ERANGE if
...
buffer size is less than required. fixed: [ruby-dev:27634]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-06 11:18:57 +00:00
ocean
64c8c730d7
* eval.c, file.c, ruby.c: removed strchr, strrchr, strstr definition
...
because they are defined in missing.h.
* missing.h, missing/strchr.c, missing/strstr.c: ANSI styled.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-20 02:22:50 +00:00
nobu
62de00b7d1
* file.c (rb_file_join): elements may contain null pointer strings.
...
report and fixed by Lloyd Zusman (hippoman): [ruby-core:06326]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-18 23:29:24 +00:00
eban
b559d863a5
* file.c (rb_f_test): typos in RDoc comments.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-12 02:26:52 +00:00
eban
fea2b2378f
* file.c (rb_f_test): typo in RDoc comments.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-12 02:14:50 +00:00
nobu
1b03efee58
* array.c, enum.c, eval.c, util.c: safer function pointer usage.
...
fixed: [ruby-core:06143]
* util.h (qsort): removed the definition incompatible to ANSI.
fixed: [ruby-core:06147]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-11 12:30:48 +00:00
matz
22f1926644
* range.c (rb_range_beg_len): should return Qfalse for non-range
...
object.
* pack.c (EXTEND16): [ruby-dev:27383]
* eval.c (set_trace_func): add rb_secure(4) to prevent adding
tracing function.
* lib/delegate.rb: document update from James Edward Gray II
<james@grayproductions.net>. [ruby-core:05942]
* process.c (proc_daemon): should restrict execution on levels
higher than $SAFE=2. suggested by URABE Shyouhei
<shyouhei@ice.uec.ac.jp>.
* lib/forwardable.rb: replaced by new implementation from
<Daniel.Berger@qwest.com>. [ruby-core:05899]
* file.c (path_check_0): disallow sticky world writable directory
in PATH (and $LOAD_PATH). [ruby-dev:27226]
* numeric.c (fix_idiv): 1.div(1.0) should return integer value.
[ruby-dev:27235]
* lib/yaml.rb: require 'yaml/constants'. [ruby-core:5776]
* lib/xmlrpc/client.rb (XMLRPC::Client::do_rpc): add charset
information to content-type header.[ruby-core:5127]
* lib/xmlrpc/server.rb (CGIServer::serve): ditto.
* lib/xmlrpc/server.rb (ModRubyServer::serve): ditto.
* lib/xmlrpc/server.rb (WEBrickServlet::service): ditto.
* test/dbm/test_dbm.rb (TestDBM::test_s_open_error): remove
test_s_open_error test to detect duplicate open.
[ruby-dev:27202]
* eval.c (splat_value): use to_a to splat non Array object.
* object.c (nil_to_a): remove nil.to_a. [experimental]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-05 16:15:16 +00:00
nobu
2a05d8c7fb
* file.c (rb_stat_inspect): constified.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-28 14:40:25 +00:00
nobu
c59306cccb
* file.c (rb_stat_inspect): protoized function pointer.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-20 13:25:59 +00:00
matz
a6eb4609c2
* file.c (rb_thread_flock): should have resolved conflict.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-19 16:44:08 +00:00
matz
7559d2fd7a
* io.c (io_close): call rb_io_close() directly if io is a T_FILE
...
object. [ruby-dev:27156]
* file.c (file_expand_path): allow pathnames to expand.
[ruby-dev:27152]
* numeric.c (Init_Numeric): should define Fixnum#div.
[ruby-dev:27129]
* file.c (rb_thread_flock): wrap flock(2) by TRAP_BEG and
TRAP_END. [ruby-dev:27122]
* file.c (rb_file_join): call FilePathValue() to all Pathnames to
join. [ruby-dev:27127]
* file.c (rb_get_path): call StringValueCStr() to ensure no nul
bytes in path strings.
* gc.c (garbage_collect): need value for return. [ruby-dev:27127]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-19 16:01:06 +00:00
aamine
5363e91dba
* file.c (rb_file_chown): should accept nil. [ruby-dev:27171]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-19 09:58:52 +00:00
akr
1ad103b7f8
* file.c (rb_thread_flock): wrap the flock system call by
...
TRAP_BEG/TRAP_END to enable signals. [ruby-dev:27122]
* ext/socket/socket.c (bsock_send): wrap the sendto and send system
call by TRAP_BEG/TRAP_END to enable signals when writing to a socket
which is full. [ruby-dev:27132]
* io.c (rb_io_syswrite): wrap the write system call by
TRAP_BEG/TRAP_END to run signal hander in syswrite method.
[ruby-dev:27134]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-18 18:29:19 +00:00
nobu
22cfbc2371
* file.c (rb_file_join): convert components by to_s instead of to_str.
...
fixed: [ruby-dev:27127]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-17 16:10:53 +00:00
matz
ffe2293998
* test/socket/test_tcp.rb (TestTCPSocket::test_recvfrom): typo
...
fixed. [ruby-dev:27123]
* string.c (rb_str_substr): should propagate taintness even for
empty strings. [ruby-dev:27121]
* string.c (rb_str_aref): should infect result if range argument
is tainted. [ruby-dev:27121]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-17 14:40:06 +00:00
nobu
c8b2171c66
* file.c (rb_file_s_extname): empty string for path name ending with a
...
period. fixed: [ruby-core:05651]
* file.c (rb_file_join): smarter behavior at edge cases.
fixed: [ruby-core:05706]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-16 13:42:17 +00:00
ocean
08c1738c51
* bignum.c: changed `foo _((boo))' to `foo(boo)`. [ruby-dev:27056]
...
* defines.h, dir.c, dln.h, enumerator.c, env.h, error.c, eval.c, file.c,
gc.c, hash.c, inits.c, intern.h, io.c, lex.c, marshal.c, missing.h,
node.h, numeric.c, pack.c, process.c, re.h, ruby.c, ruby.h, rubyio.h,
rubysig.h, signal.c, sprintf.c, st.h, string.c, struct.c, time.c,
util.c, util.h, variable.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-14 06:32:32 +00:00
nobu
ef86852451
* file.c (apply2files): stricter callback definition.
...
* file.c (rb_path_check): constified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-12 15:02:46 +00:00
ocean
dda5dc00cf
* array.c: moved to ANSI function style from K&R function style.
...
(used protoize on windows, so still K&R remains on #ifdef part of
other platforms. And `foo _((boo))' stuff is still there)
[ruby-dev:26975]
* bignum.c, class.c, compar.c, dir.c, dln.c, dmyext.c, enum.c,
enumerator.c, error.c, eval.c, file.c, gc.c, hash.c, inits.c,
io.c, main.c, marshal.c, math.c, numeric.c, object.c, pack.c,
prec.c, process.c, random.c, range.c, re.c, regcomp.c, regenc.c,
regerror.c, regexec.c, regparse.c, regparse.h, ruby.c, signal.c,
sprintf.c, st.c, string.c, struct.c, time.c, util.h, variable.c,
version.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-12 10:44:21 +00:00
matz
639bd5e78f
* eval.c (rb_eval): pre-evaluate argument for unambiguous
...
evaluation order. [ruby-dev:26383]
* lib/delegate.rb (Delegator::method_missing): forward unknown
method to the destination. suggested by
<christophe.poucet@gmail.com>. [ruby-talk:146776]
* process.c (detach_process_watcher): terminate process watcher
thread right after rb_waitpid() succeed. [ruby-talk:146430]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-30 06:20:09 +00:00
nobu
8121738943
* eval.c (search_required, rb_require_safe): expand path in
...
rb_features. [ruby-dev:26079]
* file.c (rb_find_file_ext): return absolute path.
* ext/extmk.rb: expand path for ext/**/extconf.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-18 15:01:21 +00:00
eban
4f6e8bade5
* dir.c, file.c (lstat): avoid warnings for mingw.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-11 13:30:10 +00:00
usa
302b8ff055
* file.c (eaccess): workaround for VC++8 runtime.
...
* win32/win32.c (ioinfo): VC++8 support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-04 17:42:55 +00:00
matz
70bbad3cfd
* array.c: replace rb_protect_inspect() and rb_inspecting_p() by
...
rb_exec_recursive() in eval.c.
* eval.c (rb_exec_recursive): new function.
* array.c (rb_ary_join): use rb_exec_recursive().
* array.c (rb_ary_inspect, rb_ary_hash): ditto.
* file.c (rb_file_join): ditto.
* hash.c (rb_hash_inspect, rb_hash_to_s, rb_hash_hash): ditto.
* io.c (rb_io_puts): ditto.
* object.c (rb_obj_inspect): ditto
* struct.c (rb_struct_inspect): ditto.
* lib/set.rb (SortedSet::setup): a hack to shut up warning.
[ruby-talk:132866]
* lib/time.rb (Time::strptime): add new function. inspired by
[ruby-talk:132815].
* lib/parsedate.rb (ParseDate::strptime): ditto.
* regparse.c: move st_*_strend() functions from st.c. fixed some
potential memory leaks.
* exception error messages updated. [ruby-core:04497]
* ext/socket/socket.c (Init_socket): add bunch of Socket
constants. Patch from Sam Roberts <sroberts@uniserve.com>.
[ruby-core:04409]
* array.c (rb_ary_s_create): no need for negative argc check.
[ruby-core:04463]
* array.c (rb_ary_unshift_m): ditto.
* lib/xmlrpc/parser.rb (XMLRPC::FaultException): make it subclass
of StandardError class, not Exception class. [ruby-core:04429]
* parse.y (fcall_gen): lvar(arg) will be evaluated as
lvar.call(arg) when lvar is a defined local variable. [new]
* object.c (rb_class_initialize): call inherited method before
calling initializing block.
* eval.c (rb_thread_start_1): initialize newly pushed frame.
* lib/open3.rb (Open3::popen3): $? should not be EXIT_FAILURE.
fixed: [ruby-core:04444]
* eval.c (is_defined): NODE_IASGN is an assignment.
* ext/readline/readline.c (Readline.readline): use rl_outstream
and rl_instream. [ruby-dev:25699]
* ext/etc/etc.c (Init_etc): sGroup needs HAVE_ST_GR_PASSWD check
[ruby-dev:25675]
* misc/ruby-mode.el: [ruby-core:04415]
* lib/rdoc/generators/html_generator.rb: [ruby-core:04412]
* lib/rdoc/generators/ri_generator.rb: ditto.
* struct.c (make_struct): fixed: [ruby-core:04402]
* ext/curses/curses.c (window_color_set): [ruby-core:04393]
* ext/socket/socket.c (Init_socket): SO_REUSEPORT added.
[ruby-talk:130092]
* object.c: [ruby-doc:818]
* parse.y (open_args): fix too verbose warnings for the space
before argument parentheses. [ruby-dev:25492]
* parse.y (parser_yylex): ditto.
* parse.y (parser_yylex): the first expression in the parentheses
should not be a command. [ruby-dev:25492]
* lib/irb/context.rb (IRB::Context::initialize): [ruby-core:04330]
* object.c (Init_Object): remove Object#type. [ruby-core:04335]
* st.c (st_foreach): report success/failure by return value.
[ruby-Bugs-1396]
* parse.y: forgot to initialize parser struct. [ruby-dev:25492]
* parse.y (parser_yylex): no tLABEL on EXPR_BEG.
[ruby-talk:127711]
* document updates - [ruby-core:04296], [ruby-core:04301],
[ruby-core:04302], [ruby-core:04307]
* dir.c (rb_push_glob): should work for NUL delimited patterns.
* dir.c (rb_glob2): should aware of offset in the pattern.
* string.c (rb_str_new4): should propagate taintedness.
* env.h: rename member names in struct FRAME; last_func -> callee,
orig_func -> this_func, last_class -> this_class.
* struct.c (rb_struct_set): use original method name, not callee
name, to retrieve member slot. [ruby-core:04268]
* time.c (time_strftime): protect from format modification from GC
finalizers.
* object.c (Init_Object): remove rb_obj_id_obsolete()
* eval.c (rb_mod_define_method): incomplete subclass check.
[ruby-dev:25464]
* gc.c (rb_data_object_alloc): klass may be NULL.
[ruby-list:40498]
* bignum.c (rb_big_rand): should return positive random number.
[ruby-dev:25401]
* bignum.c (rb_big_rand): do not use rb_big_modulo to generate
random bignums. [ruby-dev:25396]
* variable.c (rb_autoload): [ruby-dev:25373]
* eval.c (svalue_to_avalue): [ruby-dev:25366]
* string.c (rb_str_justify): [ruby-dev:25367]
* io.c (rb_f_select): [ruby-dev:25312]
* ext/socket/socket.c (sock_s_getservbyport): [ruby-talk:124072]
* struct.c (make_struct): [ruby-dev:25249]
* dir.c (dir_open_dir): new function. [ruby-dev:25242]
* io.c (rb_f_open): add type check for return value from to_open.
* lib/pstore.rb (PStore#transaction): Use the empty content when a
file is not found. [ruby-dev:24561]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-04 06:47:45 +00:00
akr
6f3016a969
typo fix
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-02 12:38:23 +00:00
akr
a435e52259
* io.c (io_fwrite): avoid context switch before writing to stderr.
...
[ruby-dev:25080]
* rubyio.h: refine deprecated declaration.
* configure.in, file.c, io.c: remove useless check: fseeko, etc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-07 06:44:42 +00:00
akr
04f36c2bba
* rubyio.h, intern.h, io.c, file.c, process.c, ext/socket/socket.c,
...
ext/pty/pty.c, ext/io/wait/wait.c, ext/openssl/ossl_ssl.c:
Use own buffering mechanism instead of stdio.
* io.c, ext/stringio/stringio.c, test/ruby/ut_eof.rb:
EOF flag removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-06 08:40:30 +00:00
matz
941d135904
* file.c (rb_file_chown): [ruby-dev:24949]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-22 17:02:45 +00:00
matz
f50136a311
* file.c (rb_file_chown): integer conversion should be prior to
...
GetOpenFile(). [ruby-dev:24947]
* file.c (rb_file_truncate): ditto.
* file.c (rb_file_s_truncate): ditto.
* dir.c (dir_seek): use NUM2OFFT().
* misc/ruby-mode.el (ruby-non-block-do-re): [ruby-core:03719]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-22 15:26:02 +00:00
nobu
9f5f676d82
* io.c (rb_io_check_initialized): new function to check uninitialized
...
object. [ruby-talk:118234]
* file.c (rb_file_path), io.c (rb_io_closed): check if initialized.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-29 12:28:32 +00:00
nobu
d0c2e3c7c9
* eval.c (rb_load, search_required, rb_require_safe, rb_require): use
...
frozen shared string to avoid outside modification. [ruby-dev:24580]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-23 15:41:17 +00:00
nobu
2cb2ef977c
* file.c (rb_file_truncate): discard read buffer before truncation.
...
[ruby-dev:24197]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-17 22:26:58 +00:00
matz
1b4d97ddba
* 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/trunk@6976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-01 15:56:05 +00:00
matz
f1f0f39e03
* hash.c (rb_hash_rehash): replace st_foreach() by its deep
...
checking counterpart. [ruby-dev:24310]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-23 00:51:32 +00:00
matz
e77ddaf0d1
* array.c (rb_ary_delete): element comparison might change array
...
size. [ruby-dev:24273]
* parse.y: make ruby parser reentrant. merge ripper parser to the
real one. this change makes ruby require bison.
* file.c (rb_file_truncate): clear stdio buffer before truncating
the file. [ruby-dev:24191]
* ext/digest/digest.c: use rb_obj_class() instead of CLASS_OF
which might return singleton class. [ruby-dev:24202]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-17 09:24:13 +00:00
matz
15ba9f85cf
* eval.c (THREAD_ALLOC): th->thread should be initialized to NULL.
...
[ruby-talk:106657] The solution was found by Guy Decoux.
* file.c (rb_stat_dev_major): new methods File::Stat#dev_major and
#dev_minor. [ruby-core:03195]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-17 02:23:52 +00:00
matz
4f127ee34b
* io.c (rb_io_gets_m): set lastline ($_) even when read line is
...
nil. [ruby-dev:23663]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-04 09:56:25 +00:00
nobu
d952e33003
* 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/trunk@6158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-14 04:06:52 +00:00
matz
df84c64be9
* pack.c (pack_pack): use NUM2INT() instead of num2i32().
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-07 06:30:15 +00:00
matz
4ded52b623
* file.c (rb_get_path): get path string via "to_path" method if
...
path object is not a string. [Ruby2]
* gc.c (rb_gc_call_finalizer_at_exit): do not free threads in the
exit finalizers.
* io.c (rb_io_reopen): should use rb_io_check_io().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-07 02:51:05 +00:00
matz
919f456de8
* exception message clean-up by Ian Macdonald <ian@caliban.org>.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-29 07:54:38 +00:00
nobu
90d8cbb1ee
* file.c (rb_stat_mode): should not sign-expand, so backout.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-04 13:39:49 +00:00
akr
40f9219a8b
* file.c (test_l): fix wrong method name in document.
...
(test_S): ditto.
(test_b): ditto.
(test_c): ditto.
(test_suid): ditto.
(test_sgid): ditto.
(test_sticky): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-03 17:20:08 +00:00
siena
357d0ffc29
* configure.in: check availability of link(). [ruby-dev:22237]
...
* file.c (rb_file_s_link): raise an exception when link() is unavailable.
* missing/os2.c (link): removed. File#link isn't supported.
* bcc32/Makefile.sub: define HAVE_LINK to enable link(). [ruby-dev:22241]
* win32/Makefile.sub: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-21 16:09:40 +00:00
siena
fc69b2a7f6
* defines.h: define RUBY_MBCHAR_MAX instead of MB_CUR_MAX.
...
* dir.c (Next, emx_mblen): use RUBY_MBCHAR_MAX for mblen().
* file.c (CharNext): ditto.
* ruby.c (translate_char): ditto.
* util.c (__crt0_glob_function): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-21 15:26:11 +00:00
nobu
224021104d
* ext/digest/defs.h, win32/win3.c, win32/win32.h, file.c: remove
...
useless casts for Borland C.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-19 12:28:14 +00:00
matz
22c005569b
* variable.c (rb_set_class_path): do not set path if
...
* lib/cgi.rb (CGI::QueryExtension): give extended string, not a
delegater object.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-19 09:19:31 +00:00
nobu
a7b1a2eced
* class.c, error.c, file.c, io.c, numeric.c, object.c, re.c, struct.c,
...
time.c: marked init_copy functions nodoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-18 14:16:47 +00:00
matz
6c862db688
* file.c (test_wr): Rdoc fix. [ruby-core:02225]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-12 16:26:05 +00:00
matz
a739d26d0a
* file.c (test_wr, test_ww): New functions implementing new
...
methods (File::world_readable?, File::world_writable?).
* file.c (S_IRUGO, S_IGUGO): New macros.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-12 13:34:26 +00:00
matz
65d37c6cc5
* stable version 1.8.1 released.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-24 15:19:11 +00:00
dave
da99e407fb
Add file.c comments (and necessary support in parse_c.rb)
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-21 07:28:54 +00:00
nobu
5fd915fc83
* file.c: renamed and externalized rb_path_next,
...
rb_path_skip_prefix, rb_path_last_separator, rb_path_end.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-15 04:32:23 +00:00
nobu
12b5b81a97
* dir.c (check_dirname): check string safety and remove extraneous
...
trailing directory separators. [ruby-dev:22279]
* file.c: extern rb_path_next, rb_path_skip_prefix,
rb_path_last_separator, rb_path_end.
* intern.h: prototypes for rb_path_next, rb_path_skip_prefix,
rb_path_last_separator, rb_path_end.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-15 04:07:03 +00:00
nobu
faab8f264d
* configure.in (ieeefp.h), numeric.c: needed for finite() on
...
Solaris. [ruby-core:01921]
* file.c (rb_stat_inspect): adjust format specifier.
* parse.c (arg_prepend): nodetype() is for debug use.
* ruby.h (ISASCII, etc): cast to int to get rid of warning.
* ruby.h (alloca.h): include even in GCC. [ruby-core:01925]
* ext/bigdecimal/bigdecimal.c (GetVpValue): adjust format
specifier.
* ext/bigdecimal/bigdecimal.c (BigDecimal_prec, BigDecimal_coerce,
BigDecimal_divmod): use rb_assoc_new() to suppress memory usage.
* ext/bigdecimal/bigdecimal.c (BigDecimal_split): ditto.
* ext/dl/sym.c (rb_dlsym_guardcall): guard itself should be
volatile.
* ext/iconv/iconv.c (iconv_convert): ensure actual parameter with
format specifier.
* ext/pty/pty.c (MasterDevice, SlaveDevice, deviceNo): do not
define unless used.
* ext/pty/pty.c (getDevice): get rid of warning.
* ext/socket/socket.c (port_str, sock_s_getaddrinfo,
sock_s_getnameinfo): FIX2INT() now returns long.
* ext/socket/socket.c (init_inetsock_internal): uninitialized
variable.
* ext/syck/rubyext.c (syck_parser_assign_io): add prototype.
* ext/syck/rubyext.c (rb_syck_mktime, yaml_org_handler): use
ISDIGIT() instead of isdigit() to avoid warnings and for
platforms which don't support non-ascii charater.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-11 02:39:59 +00:00
matz
5eaf7e5816
* gc.c (gc_mark): explicitly check mark recursion levels, instead
...
of unreliable stack length.
* file.c (path_check_1): honor sticky bits always.
[ruby-talk:86273]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-28 14:23:33 +00:00
matz
6212cfb9c5
* gc.c (Init_stack): stack region is far smaller than usual if
...
pthread is used.
* marshal.c (w_extended): singleton methods should not be checked
when dumping via marshal_dump() or _dump(). [ruby-talk:85909]
* file.c (getcwdofdrv): avoid using getcwd() directly, use
my_getcwd() instead.
* merged NeXT, OpenStep, Rhapsody ports patch from Eric Sunshine
<sunshine@sunshineco.com>. [ruby-core:01596]
* marshal.c (w_object): LINK check earlier than anything else,
i.e. do not dump TYPE_IVAR for already dumped objects.
(ruby-bugs PR#1220)
* eval.c (rb_eval): call "inherited" only when a new class is
generated; not on reopening.
* eval.c (eval): prepend error position in evaluating string to
* configure.in: revived NextStep, OpenStep, and Rhapsody ports which
had become unbuildable; enhanced --enable-fat-binary option so that
it accepts a list of desired architectures (rather than assuming a
fixed list), or defaults to a platform-appropriate list if user does
not provide an explicit list; made the default list of architectures
for MAB (fat binary) more comprehensive; now uses -fno-common even
when building the interpreter (in addition to using it for
extensions), thus allowing the interpreter to be embedded into a
plugin module of an external project (in addition to allowing
embedding directly into an application); added checks for
<netinet/in_systm.h> (needed by `socket' extension) and getcwd(); now
ensures that -I/usr/local/include is employed when extensions'
extconf.rb scripts invoke have_header() since extension checks on
NextStep and OpenStep will fail without it if the desired resource
resides in the /usr/local tree; fixed formatting of --help message.
* Makefile.in: $(LIBRUBY_A) rule now deletes the archive before
invoking $(AR) since `ar' on Apple/NeXT can not "update" MAB archives
(see configure's --enable-fat-binary option); added rule for new
missing/getcwd.c.
* defines.h: fixed endian handling during MAB build (see configure's
--enable-fat-binary option) to ensure that all portions of the
project see the correct WORDS_BIGENDIAN value (some extension modules
were getting the wrong endian setting); added missing constants
GETPGRP_VOID, WNOHANG, WUNTRACED, X_OK, and type pid_t for NextStep
and OpenStep; removed unnecessary and problematic HAVE_SYS_WAIT_H
define in NeXT section.
* dir.c: do not allow NAMLEN() macro to trust dirent::d_namlen on
NextStep since, on some installations, this value always resolves
uselessly to zero.
* dln.c: added error reporting to NextStep extension loader since the
previous behavior of failing silently was not useful; now ensures
that NSLINKMODULE_OPTION_BINDNOW compatibility constant is defined
for OpenStep and Rhapsody; no longer includes <mach-o/dyld.h> twice
on Rhapsody since this header lacks multiple-include protection,
which resulted in "redefinition" compilation errors.
* main.c: also create hard reference to objc_msgSend() on NeXT
platforms (in addition to Apple platforms).
* lib/mkmf.rb: now exports XCFLAGS from configure script to extension
makefiles so that extensions can be built MAB (see configure's
--enable-fat-binary option); also utilize XCFLAGS in cc_command()
(but not cpp_command() because MAB flags are incompatible with
direct invocation of `cpp').
* ext/curses/extconf.rb: now additionally checks for presence of these
curses functions which are not present on NextStep or Openstep:
bkgd(), bkgdset(), color(), curs(), getbkgd(), init(), scrl(), set(),
setscrreg(), wattroff(), wattron(), wattrset(), wbkgd(), wbkgdset(),
wscrl(), wsetscrreg()
* ext/curses/curses.c: added appropriate #ifdef's for additional set of
curses functions now checked by extconf.rb; fixed curses_bkgd() and
window_bkgd() to correctly return boolean result rather than numeric
result; fixed window_getbkgd() to correctly signal an error by
returning nil rather than -1.
* ext/etc/etc.c: setup_passwd() and setup_group() now check for null
pointers before invoking rb_tainted_str_new2() upon fields extracted
from `struct passwd' and `struct group' since null pointers in some
fields are common on NextStep/OpenStep (especially so for the
`pw_comment' field) and rb_tainted_str_new2() throws an exception
when it receives a null pointer.
* ext/pty/pty.c: include "util.h" for strdup()/ruby_strdup() for
platforms such as NextStep and OpenStep which lack strdup().
* ext/socket/getaddrinfo.c: cast first argument of getservbyname(),
gethostbyaddr(), and gethostbyname() from (const char*) to non-const
(char*) for older platforms such as NextStep and OpenStep.
* ext/socket/socket.c: include "util.h" for strdup()/ruby_strdup() for
platforms such as NextStep and OpenStep which lack strdup(); include
<netinet/in_systm.h> if present for NextStep and OpenStep; cast first
argument of gethostbyaddr() and getservbyname() from (const char*) to
non-const (char*) for older platforms.
* ext/syslog/syslog.c: include "util.h" for strdup()/ruby_strdup() for
platforms such as NextStep and OpenStep which lack strdup().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-22 04:00:03 +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
befb570536
* hash.c (rb_hash_each): Hash#each should yield single value.
...
[ruby-talk:84420]
* hash.c (env_each): ditto for ENV.each.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-24 14:31:14 +00:00
matz
06d9340f2e
* eval.c (ruby_cleanup): call finalizers and exit procs before
...
terminating threads.
* eval.c (ruby_cleanup): preserve ruby_errinfo before ruby_finalize_0().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-21 14:42:15 +00:00
matz
9942c6ed13
* file.c (rb_file_s_expand_path): avoid calling rb_scan_args() for
...
apparent cases. [ruby-talk:79748]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-23 17:06:55 +00:00
nobu
b8dfb46df7
BUFCHECK() doesn't update p/pend in loop.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-23 16:06:25 +00:00
nobu
33c9c0005b
* file.c (file_expand_path): performance improvement.
...
[ruby-talk:79748]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-23 15:44:05 +00:00
nobu
625c1361e3
* configure.in (HUGE_ST_INO): check whether struct stat.st_ino
...
is larger than long. [ruby-dev:21194]
http://www.geocities.co.jp/SiliconValley-PaloAlto/1409/ruby/beos.html
* error.c (syserr_eqq): errno might exceed Fixnum limit.
* error.c (Init_Exception): moved base initialization from
init_syserr().
* inits.c (rb_call_inits): postpone initializing errnos until
Bignum is available.
* ext/curses/curses.c (_XOPEN_SOURCE_EXTENDED): needed to let
keyname() and so on be declared.
* ext/curses/curses.c (curses_resizeterm, window_resize):
arguments conflicted with macros in term.h.
* ext/curses/curses.c (Curses module methods): ensure
initialized. [ruby-dev:21191]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-15 03:01:52 +00:00
nobu
db8874aa1b
* configure.in (os2-emx): renamed from os2_emx, add flags to
...
CFLAGS and LDFLAGS, and remove lib prefix. [ruby-dev:20993]
* file.c (rb_file_s_rename): retry with removing new file on
DOSISH. [ruby-dev:21007]
* ext/socket/extconf.rb (sendmsg, recvmsg): check functions.
* ext/socket/socket.c (unix_send_io, unix_recv_io): raise
NotImplementedError unless system calls are available.
* ext/socket/socket.c (sock_initialize): rename from sock_init()
to get rid of conflict with OS/2 socket library.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-30 00:32:03 +00:00
nobu
a644c35a99
* file.c (Init_File): IO should include File::Const.
...
[ruby-dev:20964]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-28 14:23:12 +00:00
matz
85911c410a
* ext/socket/socket.c (tcp_s_gethostbyname): was using
...
uninitialized size_t value. [ruby-talk:76946]
* Minor cleanups.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-25 05:36:55 +00:00
matz
5dd2b7102c
* gcc -Wall clean-up.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-24 18:33:50 +00:00
eban
528b6c3f64
* file.c (DOSISH): better Cygwin support.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-23 14:09:52 +00:00
matz
2436525ed8
* string.c (rb_str_lstrip_bang): strip NUL along with white
...
spaces. [ruby-talk:76659]
* string.c (rb_str_rstrip_bang): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-23 06:48:52 +00:00
matz
e4de8e7566
* string.c: use StringValueCStr to retrieve paths to system calls.
...
* string.c (rb_string_value_cstr): check null byte in the string
before retrieving C ptr. accessed via macro StringValueCStr.
* file.c (sys_fail2): raise error for two operand system calls
such as rename, link, symlink. (ruby-bugs PR#1047)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-20 17:17:52 +00:00
matz
67dcad92b7
* string.c (rb_str_upto): generate sequence according to "succ"
...
order. formerly check was done by dictionary order.
[ruby-talk:74138]
* string.c (rb_string_value): fill constant empty string along
with setting ELTS_SHARED if str->ptr is NULL. [ruby-core:01179]
* string.c (rb_string_value_ptr): ditto.
* string.c (rb_check_string_type): ditto.
* string.c (str_gsub): move END(0) check before mbclen2().
* string.c (scan_once): reduce END(0) check.
* io.c (rb_io_initialize): accept fixnum mode.
* eval.c (error_print): replace strchr() by memchr(), einfo may
contain "\0".
* pack.c (pack_unpack): range check for "@" move; initialize check
for "m".
* error.c (syserr_initialize): avoid buffer overflow.
* file.c (rb_file_s_readlink): expand buffer until readlink
succeed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-23 06:52:39 +00:00
matz
f289fddace
* parse.y (new_yield): distinguish "yield 1,2" and "yield [1,2]".
...
[ruby-dev:20360]
* eval.c (rb_eval): support new_yield() change.
* variable.c (rb_const_get_0): warn for Foo::BAR when BAR is a
toplevel constant (i.e. a constant defined under Object).
[ruby-list:36935]
* parse.y (no_blockarg): separate no block argument check and
ret_args argument processing.
* range.c (rb_range_beg_len): out_of_range check after adjusting
end point. [ruby-dev:20370]
* parse.y (call_args): the first argument to arg_cancat() should
be NODE_LIST. [ruby-core:01151]
* eval.c (rb_eval): should dispatch based on ID type.
* eval.c (rb_yield_0): should restore scope_vmode during yield.
[ruby-dev:20361]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-20 07:11:44 +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
matz
4bdf9a6c61
* regex.c (re_match_exec): $ _always_ matches at the end of string.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-01 00:00:37 +00:00
nobu
7a332f23ce
* file.c (file_expand_path): root must follow buf when
...
reallocated. [ruby-talk:69339], [ruby-dev:20025]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-14 10:46:00 +00:00
matz
f34f20ebc5
* rubyio.h (struct OpenFile): add error raise flag to finalizer.
...
* io.c (Init_IO): define $/, $-0, and $\ as string-only
variables.
* string.c (rb_str_split_m): does not generate empty string if
there's no match in the receiver.
* io.c (fptr_finalize): should raise error on EBADF for readable
IOs as well.
* file.c (rb_stat): use rb_check_convert_type() to retrieve IO.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-14 09:04:43 +00:00
matz
a700bcfafa
* file.c (rb_stat): dereference using StringValuePtr().
...
* file.c (rb_file_s_stat): use rb_stat(). [ruby-dev:20007]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-11 05:49:34 +00:00
matz
bb544954b2
* file.c (rb_find_file): need world writable directory check for
...
relative paths too.
* file.c (rb_find_file): world writable directory check if
$SAFE >= 1 (was $SAFE >= 2).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-10 15:05:18 +00:00
nobu
79d91e3608
* file.c (file_expand_path): fix wrong behavior for root file.
...
expand_path("..", "//machine/share") => "//machine/share"
expand_path("..", "c:/a") => "c:/"
expand_path("..", "/a") => "/"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-20 09:44:54 +00:00
nobu
42de8af413
* file.c (file_expand_path): should not upward beyond share name.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-20 09:11:05 +00:00
nobu
8fe2085eb7
*** empty log message ***
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-17 04:27:45 +00:00
nobu
d0d70d648d
* file.c (file_expand_path): buffer might be reallocated while
...
expanding default directory.
* file.c (file_expand_path): default directory was being
ignored if path was full path with no drive letter, under
DOSISH.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-16 10:22:36 +00:00
nobu
f2d07eb82d
* file.c (file_expand_path): fix surplus path separators while
...
expanding at root directory. [ruby-dev:19572]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-14 16:09:07 +00:00
nobu
246800d42b
*** empty log message ***
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-13 09:58:57 +00:00
matz
937092b820
* range.c (range_step): step might be float 0 < x < 1.
...
* eval.c (rb_thread_schedule): pause if no runnable thread when
there's only one thread.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-13 09:11:11 +00:00
nobu
4ef1062c6f
* file.c (rb_file_s_dirname): append "." if drive only.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-12 15:10:51 +00:00
nobu
7dd303419e
* file.c (strrdirsep): ignore trailing directory separators.
...
* file.c (rb_file_s_expand_path): File.expand_path(".","/") should
return "/". (ruby-bugs-ja:PR#389)
* file.c (rb_file_s_basename): also ignore trailing directory
separators, in compliance with SUSv3. (ruby-bugs-ja:PR#390)
* file.c (rb_file_s_dirname, rb_file_s_extname): ditto.
* file.c (rb_file_s_split): get rid of converting twice.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-12 14:56:45 +00:00
matz
74d5623029
* variable.c (rb_obj_classname): new function.
...
* string.c (rb_str_dup): should preserve original's class (but not
hidden singleton class).
* string.c (rb_str_substr): ditto.
* parse.y: backout EXPR_CMDARG removal.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-31 04:00:17 +00:00
nobu
b18b4423c9
* file.c (rb_file_s_expand_path): removed a sludge.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-29 23:28:47 +00:00
usa
e83f415139
* file.c (eaccess): under windows, make eaccess() just call
...
access(). [ruby-core:716], [ruby-bugs:PR#556]
* ChangeLog: fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-19 15:19:52 +00:00
michal
9df466b287
Updated Copyrights of Matz to 2003.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-16 07:34:03 +00:00
usa
2b442c240a
* file.c: improve DOSISH drive letter support.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-06 09:44:15 +00:00
usa
b369eea79f
* file.c (utimbuf): use utimbuf instead of _utimbuf if defined _WIN32.
...
* win32/Makefile.sub (LIBS): use oldnames.lib.
* win32/win32.c (rb_w32_getcwd): follow above change.
* win32/win32.h: ditto.
* wince/direct.c, wince/direct.h (getcwd): ditto.
* wince/io.h: ditto.
* wince/string.c, wince/wince.h (stricmp, strnicmp): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-04 18:17:30 +00:00
nobu
2ce6988e55
* file.c (rb_file_s_lchmod): get rid of gcc-3 -O3 warning.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-03 16:52:56 +00:00
knu
653b0c120f
* array.c (rb_ary_transpose): Properly declare ary as a VALUE.
...
* file.c (rb_file_s_chmod): Do not directly cast an int to void *
to avoid a warning.
* defines.h (FLUSH_REGISTER_WINDOWS): Add support for
FreeBSD/sparc64. miniruby still coredumps in a different place,
though.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-31 10:28:52 +00:00
nobu
f0371138ee
* file.c (rb_file_s_chmod): get rid of gcc-3 -O3 warning.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-29 18:14:22 +00:00