nobu
c5fef27312
file.c: unpack in binary
...
* file.c (statfs_fsid): convert with rb_integer_unpack.
* configure.in: fsid_t is no longer used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-23 04:31:09 +00:00
nobu
0f69c1845a
file.c: fsid_t may not be defined
...
* configure.in: check if fsid_t is defined.
* file.c (statfs_fsid): fsid_t may not be defined, assume long in
that case.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-23 02:32:17 +00:00
usa
86dc863bd8
* win32/win32.c, include/ruby/win32.h (ustatfs): implementation of
...
statfs(2) clone. [EXPERIMENTAL]
* file.c (rb_io_statfs): use above function.
* configure.in, win32/Makefile.sub (struct statfs): available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-22 15:45:00 +00:00
usa
900ede4053
* file.c (rb_io_stafs): use statfs(2) if fstatfs(2) is unavailable.
...
* configure.in (fstatfs): check it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-22 14:57:18 +00:00
nobu
c143b9a0ab
file.c: suppress a warning
...
* file.c (statfs_fsid): use union to suppress strict-aliasing
warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-22 14:01:51 +00:00
usa
026b0b9469
* file.c (rb_io_statfs): need to define even if the system doesn't have
...
fstatfs(2).
* test/ruby/test_file.rb (TestFile#test_statfs): skip if IO#stafs is not
implemented.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-22 13:19:15 +00:00
naruse
3b1862e62f
define File::Statfs only if HAVE_STRUCT_STATFS
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-22 12:57:38 +00:00
naruse
e3a57e06de
fix typo
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-22 10:59:38 +00:00
naruse
035a4e7d72
* file.c: newly added a class File::Statfs. (experimental)
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-22 10:35:57 +00:00
hsbt
d89b64ddd7
* file.c: [DOC] Add more documentation for File.basename by @avdi [fix GH-550][ci skip]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-28 00:37:16 +00:00
charliesome
e789250325
* file.c (rb_f_test): [DOC] refer to 'character' instead of 'integer'
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-01 11:08:15 +00:00
marcandre
e030b4ee79
* array.c: rdoc clarification for <=>
...
* file.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-09 17:33:47 +00:00
nobu
64211a0f98
file.c: to_uid and to_gid
...
* file.c (to_uid, to_gid): extract from rb_file_s_chown,
rb_file_chown, and rb_file_s_lchown.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-25 01:40:53 +00:00
nobu
4db0887d67
file.c: proper types
...
* file.c (rb_file_chown): use proper configured types, not plain
int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-25 00:47:26 +00:00
nobu
9f368b5ac9
file.c: destination path only
...
* file.c: remove unnecessary the source path from EEXIST error
messages and show the destination path only. [ruby-core:59202]
[Feature #9263 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-21 04:00:31 +00:00
nobu
079009fb93
file.c: fix buffer overflow
...
* file.c (rb_readlink): fix buffer overflow on a long symlink. since
rb_str_modify_expand() expands from its length but not its capacity,
need to set the length properly for each expansion.
[ruby-core:58592] [Bug #9157 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-26 07:30:37 +00:00
nobu
7ddf295a4b
file.c: remove unnecessary declaration
...
* file.c (GetLastError): already defined in windows.h on nowadays
cygwin, and caused the confliction with the system provided
definition on cygwin64. by @kou1okada [Fixes GH-433].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-08 15:26:55 +00:00
ko1
c5e08b764e
* add RUBY_TYPED_FREE_IMMEDIATELY to data types which only use
...
safe functions during garbage collection such as xfree().
On default, T_DATA objects are freed at same points as fianlizers.
This approach protects issues such as reported by [ruby-dev:35578].
However, freeing T_DATA objects immediately helps heap usage.
Most of T_DATA (in other words, most of dfree functions) are safe.
However, we turned off RUBY_TYPED_FREE_IMMEDIATELY by default
for safety.
* cont.c: ditto.
* dir.c: ditto.
* encoding.c: ditto.
* enumerator.c: ditto.
* error.c: ditto.
* file.c: ditto.
* gc.c: ditto.
* io.c: ditto.
* iseq.c: ditto.
* marshal.c: ditto.
* parse.y: ditto.
* proc.c: ditto.
* process.c: ditto.
* random.c: ditto.
* thread.c: ditto.
* time.c: ditto.
* transcode.c: ditto.
* variable.c: ditto.
* vm.c: ditto.
* vm_backtrace.c: ditto.
* vm_trace.c: ditto.
* ext/bigdecimal/bigdecimal.c: ditto.
* ext/objspace/objspace.c: ditto.
* ext/stringio/stringio.c: ditto.
* ext/strscan/strscan.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-29 11:16:54 +00:00
zzak
2bd5ab359d
* file.c: [DOC] fix rdoc format of File#expand_path from r43386
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23 02:44:06 +00:00
eregon
5b91ab1f2e
* file.c (File#expand_path): [DOC] improve documentation of File#expand_path.
...
Based on patch by Prathamesh Sonpatki. [ruby-core:57734] [Bug #9002 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-22 07:59:23 +00:00
nobu
22a961383a
dir.c: warn Dir.exists?
...
* dir.c (rb_dir_exists_p): warn deprecated name. [Bug #9041 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-21 17:06:31 +00:00
nobu
1ca90beaac
* file.c (rb_file_exists_p): maybe FileTest.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-21 15:34:55 +00:00
nobu
058d55ad2c
file.c: warn File.exists?
...
* file.c (rb_file_exists_p): warn deprecated name. [Bug #9041 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-21 15:06:59 +00:00
nobu
eeb3156eca
encoding.c: defer code page table
...
* encoding.c (rb_locale_encindex): defer initialization of win32 code
page table until encoding db loaded.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-19 10:55:39 +00:00
nobu
c07c33b28a
file.c: export rb_stat_new
...
* file.c (stat_new_0): constify.
* file.c (rb_stat_new): constify and export. based on a patch by
Hanmac (Hans Mackowiak) at [ruby-core:53225]. [Feature #8050 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-01 11:54:53 +00:00
drbrain
2614d9ba2f
* dir.c (dir_s_glob): [DOC] Improve wording and layout.
...
* dir.c (file_s_fnmatch): ditto.
* dir.c (Init_Dir): [DOC] Document File::Constants::FNM_XXX
constants. (These won't show up in RDoc until a new RDoc is
imported.)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-13 21:08:36 +00:00
ktsj
04f0de74dd
* error.c, file.c, gc.c, hash.c, thread.c, variable.c, vm_eval.c, bin/erb:
...
$SAFE=4 is obsolete.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-18 10:36:51 +00:00
usa
f2e870c9a7
* file.c (rb_file_size, rb_file_flock): improve parformance of Winodws.
...
* file.c (rb_file_truncate): removed unnecessary #ifdef.
* test/test_file.rb (TestFile#test_truncate_size): added an assertion
for File#size.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-16 02:26:28 +00:00
usa
d6af2a2b21
* io.c, internal.h (rb_io_flush_raw): new function to select calling
...
fsync() (on Windows).
* io.c (rb_io_flush_raw): use above function.
* file.c (rb_file_truncate): use above function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-15 11:53:41 +00:00
nobu
863989993a
file.c: OSX path encoding
...
* file.c (rb_str_encode_ospath): OS path encoding on Mac OS X is also
fixed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-11 14:27:04 +00:00
nobu
49826b4b72
file.c: internal function
...
* file.c (rb_str_normalize_ospath0): make the internal function
static.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-11 07:31:25 +00:00
charliesome
bf2ed96339
* file.c (rb_str_normalize_ospath): fix mixed code and declaration warning
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-11 04:04:12 +00:00
naruse
9962aad7b0
* file.c (rb_str_normalize_ospath):
...
HFS Plus (Mac OS Extended) uses a variant of Normal Form D in which
U+2000 through U+2FFF, U+F900 through U+FAFF, and U+2F800 through
U+2FAFF are not decomposed (this avoids problems with round trip
conversions from old Mac text encodings).
http://developer.apple.com/library/mac/qa/qa1173/_index.html
Therefore fix r42457 to exclude the range.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-10 20:44:10 +00:00
nobu
c04f402f0f
file.c: normalize Form C
...
* file.c (rb_str_normalize_ospath): normalize to Normalization Form C
using CFString.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-09 03:06:53 +00:00
nobu
354028abe1
file.c: rb_str_normalize_ospath
...
* file.c (rb_str_normalize_ospath): extract and move from dir.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-08 01:26:27 +00:00
nobu
f375a8b40e
file.c: use rb_str_conv_enc
...
* file.c (rb_str_encode_ospath): simplify using rb_str_conv_enc().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-26 04:02:01 +00:00
naruse
f86be91b56
* file.c (rb_file_expand_path_internal): fix r42160; skip '~'.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-25 16:33:57 +00:00
nobu
84d473b750
file.c: clear coderange for user name
...
* file.c (rb_file_expand_path_internal): should clear coderange after
copying user name as binary data.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-25 08:17:55 +00:00
nobu
7ec4a44762
file.c: split rb_home_dir
...
* dir.c (dir_s_home): use rb_home_dir_of and rb_default_home_dir.
* file.c (rb_home_dir_of): split from rb_home_dir() for the home
directry of the given user, and the user name is a VALUE, not a bare
pointer. should raise if the user does not exist.
* file.c (rb_default_home_dir): split from rb_home_dir() for the home
directry of the current user.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-25 04:06:50 +00:00
nobu
1758ff0381
file.c: exception message encoding
...
* file.c (rb_file_expand_path_internal): preserve the file name
encoding in an exception message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-24 08:38:01 +00:00
shugo
1f828497d1
* safe.c (rb_set_safe_level, safe_setter): raise an ArgumentError
...
when $SAFE is set to 4. $SAFE=4 is now obsolete.
[ruby-core:55222] [Feature #8468 ]
* object.c (rb_obj_untrusted, rb_obj_untrust, rb_obj_trust):
Kernel#untrusted?, untrust, and trust are now deprecated.
Their behavior is same as tainted?, taint, and untaint,
respectively.
* include/ruby/ruby.h (OBJ_UNTRUSTED, OBJ_UNTRUST): OBJ_UNTRUSTED()
and OBJ_UNTRUST() are aliases of OBJ_TAINTED() and OBJ_TAINT(),
respectively.
* array.c, class.c, debug.c, dir.c, encoding.c, error.c, eval.c,
ext/curses/curses.c, ext/dbm/dbm.c, ext/dl/cfunc.c,
ext/dl/cptr.c, ext/dl/dl.c, ext/etc/etc.c, ext/fiddle/fiddle.c,
ext/fiddle/pointer.c, ext/gdbm/gdbm.c, ext/readline/readline.c,
ext/sdbm/init.c, ext/socket/ancdata.c, ext/socket/basicsocket.c,
ext/socket/socket.c, ext/socket/udpsocket.c,
ext/stringio/stringio.c, ext/syslog/syslog.c, ext/tk/tcltklib.c,
ext/win32ole/win32ole.c, file.c, gc.c, hash.c, io.c, iseq.c,
load.c, marshal.c, object.c, proc.c, process.c, random.c, re.c,
safe.c, string.c, thread.c, transcode.c, variable.c,
vm_insnhelper.c, vm_method.c, vm_trace.c: remove code for
$SAFE=4.
* test/dl/test_dl2.rb, test/erb/test_erb.rb,
test/readline/test_readline.rb,
test/readline/test_readline_history.rb, test/ruby/test_alias.rb,
test/ruby/test_array.rb, test/ruby/test_dir.rb,
test/ruby/test_encoding.rb, test/ruby/test_env.rb,
test/ruby/test_eval.rb, test/ruby/test_exception.rb,
test/ruby/test_file_exhaustive.rb, test/ruby/test_hash.rb,
test/ruby/test_io.rb, test/ruby/test_method.rb,
test/ruby/test_module.rb, test/ruby/test_object.rb,
test/ruby/test_pack.rb, test/ruby/test_rand.rb,
test/ruby/test_regexp.rb, test/ruby/test_settracefunc.rb,
test/ruby/test_struct.rb, test/ruby/test_thread.rb,
test/ruby/test_time.rb: remove tests for $SAFE=4.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-12 14:20:51 +00:00
nobu
6db56c86c9
fill rdocs
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-02 03:12:04 +00:00
ktsj
edb98f8b91
fix typos. Patch by k_takata.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-19 03:10:21 +00:00
ko1
83aba04862
* include/ruby/ruby.h: constify RBasic::klass and add
...
RBASIC_CLASS(obj) macro which returns a class of `obj'.
This change is a part of RGENGC branch [ruby-trunk - Feature #8339 ].
* object.c: add new function rb_obj_reveal().
This function reveal interal (hidden) object by rb_obj_hide().
Note that do not change class before and after hiding.
Only permitted example is:
klass = RBASIC_CLASS(obj);
rb_obj_hide(obj);
....
rb_obj_reveal(obj, klass);
TODO: API design. rb_obj_reveal() should be replaced with others.
TODO: modify constified variables using cast may be harmful for
compiler's analysis and optimizaton.
Any idea to prohibt inserting RBasic::klass directly?
If rename RBasic::klass and force to use RBASIC_CLASS(obj),
then all codes such as `RBASIC(obj)->klass' will be
compilation error. Is it acceptable? (We have similar
experience at Ruby 1.9,
for example "RARRAY(ary)->ptr" to "RARRAY_PTR(ary)".
* internal.h: add some macros.
* RBASIC_CLEAR_CLASS(obj) clear RBasic::klass to make it internal
object.
* RBASIC_SET_CLASS(obj, cls) set RBasic::klass.
* RBASIC_SET_CLASS_RAW(obj, cls) same as RBASIC_SET_CLASS
without write barrier (planned).
* RCLASS_SET_SUPER(a, b) set super class of a.
* array.c, class.c, compile.c, encoding.c, enum.c, error.c, eval.c,
file.c, gc.c, hash.c, io.c, iseq.c, marshal.c, object.c,
parse.y, proc.c, process.c, random.c, ruby.c, sprintf.c,
string.c, thread.c, transcode.c, vm.c, vm_eval.c, win32/file.c:
Use above macros and functions to access RBasic::klass.
* ext/coverage/coverage.c, ext/readline/readline.c,
ext/socket/ancdata.c, ext/socket/init.c,
* ext/zlib/zlib.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 10:49:11 +00:00
ko1
aacd771046
* *.c, parse.y, insns.def: use RARRAY_AREF/ASET macro
...
instead of using RARRAY_PTR().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 09:56:22 +00:00
kosaki
96ffcf557b
* file.c (rb_file_s_truncate): use correct type. chsize takes
...
a long.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:42:30 +00:00
kosaki
05628d3b6d
* configure.in: removes AC_CHECK_FUNC(ftruncate64).
...
* configure.in: adds RUBY_REPLACE_TYPE(off_t) for creating
NUM2OFFT.
* file.c (rb_file_truncate): use correct type. chsize() take
a long.
* include/ruby/ruby.h (NUM2OFFT): use a definition created by
a configure script by default.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:41:24 +00:00
akr
bfb334eefa
* file.c, ext/etc/etc.c, ext/socket/unixsocket.c,
...
ext/openssl/ossl.h, ext/openssl/openssl_missing.c: Use
HAVE_AGGREGATE_MEMBER instead of HAVE_ST_MEMBER.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-09 12:12:17 +00:00
akr
2265bdfac3
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 12:50:12 +00:00
akr
83c10e8905
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 12:41:06 +00:00
hsbt
18affefbe5
documentation by @phiggins [GH fixes #263 ]
...
* file.c: Alias File #path and #to_path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-31 02:21:07 +00:00
kosaki
798ff850e4
* configure.in: check struct timeval exist or not.
...
* include/ruby/missing.h (struct timeval): check HAVE_STRUCT_TIMEVAL
properly. and don't include sys/time.h if struct timeval exist.
* file.c: include sys/time.h explicitly.
* random.c: ditto.
* thread_pthread.c: ditto.
* time.c: ditto.
* ext/date/date_strftime.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-16 05:06:47 +00:00
nobu
c7c3a275f3
error.c: rb_sys_fail_path_in
...
* error.c (syserr_initialize): add optional function name.
* error.c (rb_sys_fail_path_in): rename and move from file.c, and pass
func_name to SystemCallError#initialize.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-15 11:19:56 +00:00
nobu
0d3d9eff4d
file.c: rb_sys_fail_path_with_func
...
* file.c (rb_sys_fail_path_with_func): share same function, and path
may be nil.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-15 05:51:37 +00:00
nobu
d24540f5bb
file.c: insert separator
...
* file.c (rb_sys_fail_path0): insert separator between function name
and path name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-14 16:21:52 +00:00
nobu
844c04f462
configure.in, file.c: RUBY_FUNCTION_NAME_STRING
...
* configure.in (rb_cv_function_name_string): macro for function name
string predefined identifier, __func__ in C99, or __FUNCTION__ in
gcc.
* file.c (rb_sys_fail_path): use RUBY_FUNCTION_NAME_STRING.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-14 07:59:16 +00:00
naruse
fb34a26003
* file.c (rb_sys_fail_path): use rb_sys_fail_path0 only on GCC.
...
__func__ is C99 feature.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-14 05:59:53 +00:00
naruse
3bda122ab9
* file.c (rb_sys_fail_path0): add to append the name of called function
...
to ease debugging for example blow umask_spec failure.
http://fbsd.rubyci.org/~chkbuild/ruby-trunk/log/20130309T010202Z.diff.html.gz
* file.c (rb_sys_fail_path): use rb_sys_fail_path0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-14 04:01:39 +00:00
naruse
6751ba4c7a
Suppress warning: uninitialized value
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-01 16:37:31 +00:00
zzak
c2204ca328
* array.c: Document #<=> return values and formatting
...
* bignum.c: ditto
* file.c: ditto
* object.c: ditto
* numeric.c: ditto
* rational.c: ditto
* string.c: ditto
* time.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-23 03:35:38 +00:00
kosaki
8a9dc061f5
* file.c (rb_group_member): added an error check. SUS says,
...
getgroups(small_value) may return EINVAL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-21 04:52:38 +00:00
kosaki
e93a68abfa
* file.c (RB_MAX_GROUPS): moved to
...
* internal.h (RB_MAX_GROUPS): here.
* file.c (rb_group_member): use RB_MAX_GROUPS instead of
RUBY_GROUP_MAX. They are the same.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-21 04:41:39 +00:00
kosaki
1cda6e3968
* file.c (access_internal): removed.
...
* file.c (rb_file_readable_real): use access() instead of
access_internal().
* file.c (rb_file_writable_real): ditto.
* file.c (rb_file_executable_real): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-21 04:41:23 +00:00
kosaki
ba37db0453
* file.c (eaccess): use access() when not using setuid nor setgid.
...
This is minor optimization.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-21 04:41:11 +00:00
kosaki
7c465090fd
* file.c (rb_group_member): get rid of NGROUPS dependency.
...
[Bug #7886 ] [ruby-core:52537]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-21 04:40:58 +00:00
kosaki
a24f2d9915
* file.c (rb_file_flock): use rb_thread_wait_for() instead of
...
rb_thread_polling(). When getting EAGAIN, we need to wait a
while even if no multi threading.
* thread.c (sleep_for_polling, rb_thread_polling) removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 18:08:40 +00:00
usa
3432474c90
* file.c (rb_file_join): check encoding compatibility before joining
...
strings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-13 05:02:55 +00:00
kosaki
b317bf06a4
* file.c (Init_File): null device definition uses rb_define_const
...
instead of rb_file_const.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20 16:00:04 +00:00
nobu
eabe74e034
file.c: fix rdoc
...
* file.c (rb_file_s_extname): fix rdoc for an edge case.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20 12:34:45 +00:00
zzak
b6161a3bad
* file.c (File.extname): Documentation for extname on dotfiles and
...
files ending with a dot. Also, added example for this.
[ruby-core:47852] [Bug #7112 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20 06:37:53 +00:00
kosaki
c8a3b2ba8b
* io.c (Init_IO): removed all rb_file_const() into file.c.
...
* file.c (Init_File): replace with rb_file_const() with
rb_define_const() because RDoc don't care rb_file_const.
[Bug #5530 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20 05:00:45 +00:00
zzak
ca8f327522
* file.c (File::NULL): Document File::NULL constant
...
[ruby-core:49384] [Bug #7365 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20 03:34:15 +00:00
shirosaki
d33b9a8a72
Fix compatibility of cached expanded load path
...
* file.c (rb_get_path_check_to_string): extract from
rb_get_path_check(). We change the spec not to call to_path of
String object.
* file.c (rb_get_path_check_convert): extract from rb_get_path_check().
* file.c (rb_get_path_check): follow the above change.
* file.c (rb_file_expand_path_fast): remove check_expand_path_args().
Instead we call it in load.c.
* file.c (rb_find_file_ext_safe): use rb_get_expanded_load_path() to
reduce expand cost.
* file.c (rb_find_file_safe): ditto.
* internal.h (rb_get_expanded_load_path): add a declaration.
* internal.h (rb_get_path_check_to_string, rb_get_path_check_convert):
add declarations.
* load.c (rb_construct_expanded_load_path): fix for compatibility.
Same checks in rb_get_path_check() are added. We don't replace
$LOAD_PATH and ensure that String object of $LOAD_PATH are frozen.
We don't freeze non String object and expand it every times. We add
arguments for expanding load path partially and checking if load path
have relative paths or non String objects.
* load.c (load_path_getcwd): get current working directory for checking
if it's changed when getting load path.
* load.c (rb_get_expanded_load_path): fix for rebuilding cache properly.
We check if current working directory is changed and rebuild expanded
load path cache. We expand paths which start with ~ (User HOME) and
non String objects every times for compatibility. We make this
accessible from other source files.
* load.c (rb_feature_provided): call rb_get_path() since we changed
rb_file_expand_path_fast() not to call it.
* load.c (Init_load): initialize vm->load_path_check_cache.
* vm.c (rb_vm_mark): mark vm->load_path_check_cache for GC.
* vm_core.h (rb_vm_struct): add vm->load_path_check_cache to store data
to check load path cache validity.
* test/ruby/test_require.rb (TestRequire): add tests for require
compatibility related to cached expanded load path.
[ruby-core:47970] [Bug #7158 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-05 15:27:08 +00:00
nobu
9af8102225
file.c: ASCII-compatible
...
* file.c (rb_file_join): need to check again after any conversion run.
[ruby-core:48012] [Bug #7168 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 05:56:25 +00:00
nobu
37b8f7b84f
file.c: hide result
...
* file.c (rb_file_join): hide the result under construction until
return.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 02:30:20 +00:00
nobu
a583f42062
file.c: ASCII-compatible
...
* file.c (rb_file_join): check nul-byte only for strings, since
FilePathStringValue() does it. [ruby-core:48012] [Bug #7168 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 02:27:07 +00:00
nobu
7b4f0c0d1d
file.c: ASCII-compatible
...
* file.c (rb_file_join): path names must be ASCII-compatible.
[ruby-core:48012] [Bug #7168 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 01:54:05 +00:00
nobu
ad54de2aca
file.c: check_path_encoding
...
* file.c (check_path_encoding): new function to ensure path name
encoding to be ASCII-compatible.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 01:53:32 +00:00
nobu
872a47c1bf
file.c: GC guard
...
* file.c (realpath_rec): prevent link from GC while link_names refers
the content.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-12 18:01:56 +00:00
nobu
7085db45e4
file.c: poisoned NUL
...
* file.c (rb_get_path_check): path name must not contain NUL bytes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-12 09:18:07 +00:00
nobu
315cbef835
file.c: reduce xmalloc
...
* file.c (rb_readlink): read symlink in the result string directly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-16 09:24:44 +00:00
nobu
a1fa2695e1
file.c: no longer used functions
...
* file.c (getcwdofdrv, append_fspath): no longer used except for
cygwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-05 05:29:37 +00:00
luislavena
86df08dac6
Improve require/File.expand_path performance on Windows
...
* configure.in (mingw): add shlwapi to the list of dependency
libs for Windows.
* win32/Makefile.sub (EXTSOLIBS): ditto.
* internal.h: declare internal functions rb_w32_init_file,
rb_file_expand_path_internal and rb_file_expand_path_fast.
* file.c (Init_File): invoke Windows initialization rb_w32_init_file
* win32/file.c (rb_file_load_path_internal): new function.
Windows-specific implementation that replaces file_expand_path.
[Bug #6836 ][ruby-core:46996]
* win32/file.c (rb_w32_init_file): new function. Initialize codepage
cache for faster conversion encodings lookup.
* file.c (file_expand_path): rename to rb_file_expand_path_internal.
Conditionally exclude from Windows.
* file.c (rb_file_expand_path_fast): new function. delegates to
rb_file_expand_path_internal without performing a hit to the
filesystem.
* file.c (file_expand_path_1): use rb_file_expand_path_internal without
path expansion (used by require).
* file.c (rb_find_file_ext_safe): ditto.
* file.c (rb_find_file_safe): ditto.
* load.c (rb_get_expanded_load_path): use rb_file_expand_path_fast.
* load.c (rb_feature_provided): ditto.
* file.c (rb_file_expand_path): use rb_file_expand_path_internal with
path expansion.
* file.c (rb_file_absolute_path): ditto.
* test/ruby/test_file_exhaustive.rb: new tests to exercise
rb_file_expand_path_internal implementation and compliance with
existing behaviors.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-24 03:44:56 +00:00
nobu
c68d29960b
load.c: keep encoding of feature name
...
* file.c (rb_find_file_ext_safe, rb_find_file_safe): default to
US-ASCII for encdb and transdb.
* load.c (search_required): keep encoding of feature name. set
loading path to filesystem encoding. [Bug #6377 ][ruby-core:44750]
* ruby.c (add_modules, require_libraries): assume default external
encoding as well as ARGV.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-23 07:46:12 +00:00
usa
9d2711691e
* win32/configure.bat, win32/setup.mak, win32/Makefile.sub: omit Win9x
...
support. remove --enable/disable-win95 option.
* include/ruby/win32.h, file.c, win32/win32.c: ditto.
* win32/README.win32: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-09 08:25:06 +00:00
nobu
406a9fc5cf
documentation for Dir.exist?
...
* dir.c (rb_file_directory_p): move documentation for Dir.exist? from
file.c so that the proper description will be shown instead of the
documentation of File.directory?. [ruby-core:45685]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-17 13:23:56 +00:00
usa
f927ec15c9
* file.c (rb_file_s_basename, rb_file_s_dirname): documentaion fix.
...
File.basename and File.dirname support File::ALT_SEPARATOR.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-14 07:01:08 +00:00
nobu
2073258a7d
obj_init_copy
...
* object.c (rb_obj_init_copy): should check if trusted too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-05 11:13:18 +00:00
nobu
5212b7fb52
file.c: fix for UNC
...
* file.c (realpath_rec): UNC prefix does not end with path separator,
so new separator is needed after it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-26 07:26:36 +00:00
yugui
76bc2d1ed7
Imports Ruby's port to NativeClient (a.k.a NaCl).
...
Patch by Google Inc. [ruby-core:45073].
* configure.in (RUBY_NACL): New M4 func to configure variables for
NaCl.
(RUBY_NACL_CHECK_PEPPER_TYPES): New M4 func to check the old names
of Pepper interface types.
(BTESTRUBY): New variable to specify which ruby should be run on
"make btest". NaCl can run the built binary by sel_ldr, but it need
rbconfig.rb. So this variable is distinguished from $MINIRUBY.
* thread_pthread.c: Disabled some features on NaCl.
* io.c: ditto.
* process.c: ditto.
* signal.c: ditto.
* file.c: ditto.
* missing/flock.c: ditto.
* nacl/pepper_main.c: An example implementation of Pepper application
that embeds Ruby.
* nacl/example.html: An example of web page that uses the Pepper
application.
* nacl/nacl-config.rb: Detects variants of NaCl SDK.
* nacl/GNUmakefile.in: Makefile template for NaCl specific build
process.
* nacl/package.rb: script for packaging a NaCl-Ruby embedding
application.
* nacl/reate_nmf.rb: Wrapper script of create_nmf.py
* dln.c (dln_load): Added a hack to call on NaCl.
* util.c (ruby_getcwd): Path to the current directort is not available
on NaCl.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-17 02:48:59 +00:00
nobu
57fb219905
* reduce UNREACHABLE.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-15 00:06:13 +00:00
drbrain
e95f7ea80d
* variable.c (trace_ev): Removed "not reached" comment as this line is
...
reached.
* variable.c (rb_obj_remove_instance_variable): Replaced "not reached"
comment with the UNREACHABLE macro.
* variable.c (rb_mod_const_missing): ditto.
* variable.c (rb_mod_remove_cvar): ditto.
* enum.c (first_i): ditto.
* string.c (rb_str_aref): ditto.
* string.c (str_byte_aref): ditto.
* string.c (rb_to_id): ditto.
* io.c (rb_io_fmode_modestr): ditto.
* io.c (rb_io_oflags_modestr): ditto.
* pack.c (num2i32): ditto.
* vm_eval.c (rb_method_missing): ditto.
* vm_eval.c (rb_f_throw): ditto.
* dir.c (dir_read): ditto.
* win32/win32.c (child_result): ditto.
* struct.c (rb_struct_getmember): ditto.
* struct.c (rb_struct_set): ditto.
* struct.c (rb_struct_aref_id): ditto.
* eval.c (rb_f_raise): ditto.
* process.c (rb_f_exit_bang): ditto.
* process.c (rb_f_exit): ditto.
* process.c (rb_f_abort): ditto.
* ext/-test-/iter/break.c (iter_break_value): ditto.
* ext/pty/pty.c (pty_check): ditto.
* ext/openssl/ossl_pkey.c (ossl_pkey_new): ditto.
* ext/readline/readline.c (rb_remove_history): ditto.
* ext/stringio/stringio.c (strio_unimpl): ditto.
* numeric.c (num_sadded): ditto.
* numeric.c (num_init_copy): ditto.
* numeric.c (rb_num2ll): ditto.
* numeric.c (rb_num2ull): ditto.
* vm_insnhelper.c (call_cfunc): ditto.
* ruby.c (opt_W_getter): ditto.
* bignum.c (rb_big_coerce): ditto.
* file.c (rb_f_test): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-14 00:36:26 +00:00
nobu
2bf3b20dbe
* file.c (rb_file_s_basename): rb_enc_asciicompat() evaluates the argument multiple times.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-23 03:04:20 +00:00
nobu
36f6ce4083
* file.c (ruby_enc_find_basename): allow NULL as alllen.
...
[ruby-dev:45363][Bug #6146 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-15 06:03:02 +00:00
marcandre
7316302483
* include/ruby/intern.h: Add rb_check_arity, rb_error_arity [ #6085 ]
...
* array.c: Use rb_check_arity / rb_error_arity
* class.c: ditto
* enumerator.c: ditto
* eval.c: ditto
* file.c: ditto
* hash.c: ditto
* numeric.c: ditto
* proc.c: ditto
* process.c: ditto
* random.c: ditto
* re.c: ditto
* signal.c: ditto
* string.c: ditto
* struct.c: ditto
* transcode.c: ditto
* vm_eval.c: ditto
* vm_insnhelper.c: ditto & implementation of rb_error_arity
* test/ruby/test_arity.rb: tests for above
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-14 21:10:34 +00:00
nobu
ee98d58f1c
* file.c (file_expand_path): use wcscasecmp().
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-02 07:37:13 +00:00
shirosaki
4b1e9f0c47
* Makefile.in (PLATFORM_DIR): add a variable for `win32` directory.
...
* Makefile.in (clean-platform): add new target.
It cleans `win32` directory.
* common.mk (clean): add a dependency for `win32` directory.
* common.mk (distclean): ditto.
* common.mk (distclean-platform): add new target.
It cleans `win32` directory.
* common.mk ($(PLATFORM_D)): add new target to make `win32` directory.
* common.mk (win32/win32.$(OBJEXT)): move win32.o into `win32`
directory.
* common.mk (win32/file.$(OBJEXT)): add new target for win32/file.c.
* configure.in: move win32.o into `win32` directory and add
win32/file.o to MISSING.
* file.c (file_load_ok, rb_file_load_ok): replace static
file_load_ok() with public rb_file_load_ok().
It's to link Windows implementation in win32/file.c.
* file.c (rb_find_file_ext_safe): ditto.
* file.c (rb_find_file_safe): ditto.
* win32/file.c (rb_file_load_ok): new file. Add Windows specific
optimized implementation of rb_file_load_ok(). We created a
separated file to avoid too many #ifdef macro which is unreadable.
* win32/Makefile.sub (PLATFORM_DIR): add a variable for `win32`
directory.
* win32/Makefile.sub (MISSING): move win32.obj into `win32`
directory and add win32/file.obj to MISSING.
* win32/Makefile.sub (MAKEDIRS): replace MINIRUBY with BASERUBY.
It's because miniruby doesn't exist when making `win32` directory.
* win32/Makefile.sub (clean-platform): add new target to clean `win32`
directory.
* win32/Makefile.sub ({$(srcdir)}.c{}.obj): make it not match
win32/file.c to build properly.
* win32/Makefile.sub (win32/win32.$(OBJEXT)): move win32.obj into
`win32` directory.
Patch created with Luis Lavena.
[ruby-core:42480] [Feature #5999 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-28 15:51:25 +00:00
nobu
cbd6a464ce
* file.c (utime_internal): fix a variable missed to replace.
...
[ruby-core:42864] [Bug #6077 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 21:55:34 +00:00
nobu
adcb7e9e7b
* dir.c, file.c, io.c (rb_sys_fail_path): use rb_sys_fail_str.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 07:48:34 +00:00
nobu
9acf2091e1
* dir.c, file.c, io.c: use rb_sys_fail_path.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 07:37:48 +00:00
drbrain
9dc0d6fe63
* file.c (rb_f_test): Fix formatting of Kernel#test rdoc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-21 23:02:29 +00:00
usa
bfaba73ebb
* file.c (append_fspath): need to set the encoding to result always.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-30 03:31:58 +00:00
nobu
97f0b0f558
* file.c (rb_file_s_basename): ignore non-ascii extension in
...
different encoding, which cannot match.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-25 04:27:45 +00:00
nobu
b094ab0948
* file.c (rmext): no extension to strip if empty string.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-25 02:40:29 +00:00
nobu
ed469831e4
* file.c (rb_enc_path_next, rb_enc_path_skip_prefix)
...
(rb_enc_path_last_separator, rb_enc_path_end)
(ruby_enc_find_basename, ruby_enc_find_extname): encoding-aware
path handling functions.
* file.c (rb_home_dir, file_expand_path, rb_realpath_internal)
(rb_file_s_basename, rb_file_dirname, rb_file_s_extname)
(rb_file_join): should respect the encodings of arguments than
file system encoding. [ruby-dev:45145] [Bug #5919 ]
* dir.c (check_dirname, ruby_glob0): ditto.
* ext/pathname/pathname.c (path_sub_ext): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-25 02:32:06 +00:00
naruse
0d8ad1a96b
* file.c (rb_file_join): separator is appended by array length - 1
...
times. patched by Benoit Daloze [ruby-core:41901] [Bug #5841 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-05 03:18:18 +00:00
naruse
8e411664ab
* file.c (file_path_convert): don't convert it when the path string is
...
ascii only. [ruby-core:41556] [Bug #5733 ]
tests are contributed by nobu.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-09 06:01:41 +00:00
naruse
c882b8e84d
* file.c (file_expand_path): reset coderange after expanding path.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-01 08:17:59 +00:00
akr
da74bc7552
* process.c (ruby_setsid): use rb_cloexec_open.
...
(rb_daemon): ditto.
* ruby.c (load_file_internal): ditto.
* file.c (rb_file_s_truncate): ditto.
(file_load_ok): ditto.
* random.c (fill_random_seed): ditto.
* ext/pty/pty.c (chfunc): ditto.
(get_device_once): ditto.
* ext/io/console/console.c (console_dev): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-29 04:01:54 +00:00
nobu
cba2e89cdc
* file.c (rb_file_join): honor input encodings than ASCII-8BIT.
...
[ruby-core:40338] [Bug #5483 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-26 06:24:29 +00:00
akr
b574a4d4a1
* include/ruby/intern.h (rb_fd_set_cloexec): declared.
...
* io.c (rb_fd_set_cloexec): new function.
(ruby_dup): call rb_fd_set_cloexec to set close-on-exec flag.
(rb_sysopen_internal): ditto.
(rb_pipe): ditto.
(io_reopen): ditto.
(io_cntl): ditto.
* process.c (rb_f_exec): change the default :close_others option to
true.
(rb_f_system): ditto.
(move_fds_to_avoid_crash): call rb_fd_set_cloexec to set
close-on-exec flag.
(ruby_setsid): ditto.
(rb_daemon): ditto.
* thread_pthread.c (rb_thread_create_timer_thread): call
rb_fd_set_cloexec to set close-on-exec flag.
* ruby.c (load_file_internal): ditto.
* file.c (rb_file_s_truncate): ditto.
(file_load_ok): ditto.
* random.c (fill_random_seed): ditto.
* ext/pty/pty.c (chfunc): ditto.
(get_device_once): ditto.
* ext/openssl/ossl_bio.c (ossl_obj2bio): ditto.
* ext/socket/init.c (rsock_socket): ditto.
(rsock_s_accept_nonblock): ditto.
(rsock_s_accept): ditto.
* ext/socket/socket.c (rsock_sock_s_socketpair): ditto.
* ext/socket/ancdata.c (discard_cmsg): ditto.
(make_io_for_unix_rights): ditto.
* ext/socket/unixsocket.c (unix_recv_io): ditto.
* ext/io/console/console.c (console_dev): ditto.
[ruby-core:38140] [Feature #5041 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-22 09:58:15 +00:00
akr
b41ccc4a9c
* include/ruby/intern.h (rb_update_max_fd): declaration moved from
...
internal.h.
* file.c: ditto.
* io.c: call rb_update_max_fd for each new fds.
* process.c: ditto.
* random.c: ditto.
* ruby.c: ditto.
* ext/io/console/console.c: ditto.
* ext/openssl/ossl_bio.c: ditto.
* ext/pty/pty.c: ditto.
* ext/socket/init.c: ditto.
* ext/socket/socket.c: ditto.
* ext/socket/ancdata.c: ditto.
* ext/socket/unixsocket.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-20 13:26:10 +00:00
akr
e7996eb3cc
* internal.h: declare internal functions here.
...
* node.h: declare NODE dependent internal functions here.
* iseq.h: declare rb_iseq_t dependent internal functions here.
* vm_core.h: declare rb_thread_t dependent internal functions here.
* bignum.c, class.c, compile.c, complex.c, cont.c, dir.c, encoding.c,
enumerator.c, error.c, eval.c, file.c, gc.c, hash.c, inits.c, io.c,
iseq.c, load.c, marshal.c, math.c, numeric.c, object.c, parse.y,
proc.c, process.c, range.c, rational.c, re.c, ruby.c, string.c,
thread.c, time.c, transcode.c, variable.c, vm.c,
tool/compile_prelude.rb: don't declare internal functions declared
in above headers. include above headers if required.
Note that rb_thread_mark() was declared as
void rb_thread_mark(rb_thread_t *th) in cont.c but defined as
void rb_thread_mark(void *ptr) in vm.c. Now it is declared as
the later in internal.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-17 22:43:38 +00:00
nobu
685444569c
* fix for build on solaris 10.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-16 00:12:55 +00:00
naruse
c75c838e16
* file.c (rb_stat_rdev): use DEVT2NUM.
...
* file.c (rb_stat_rdev_major): ditto.
* file.c (rb_stat_rdev_minor): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-15 01:58:13 +00:00
nobu
4c7106c679
* file.c (rb_file_truncate): fix function.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-26 15:51:04 +00:00
kosaki
3b011d1a00
* file.c (rb_group_member): kill 256K of stack usage.
...
the patch was written by Eric Wong. [ruby-core:35699]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-11 12:18:32 +00:00
nobu
4ab39d2202
* file.c (rb_file_flock): use rb_thread_io_blocking_region for the
...
time being.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-20 07:22:57 +00:00
kosaki
18c11392af
* file.c (w32_io_info): get rid of too huge alloca().
...
[Bug #4313 ] [ruby-core:34830]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 09:35:56 +00:00
nobu
1b00c45dc0
* file.c (file_expand_path): get rid of warnings caused by
...
-Wdeclaration-after-statement on cygwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-26 13:24:17 +00:00
akr
53360bd50a
* file.c: parenthesize macro arguments.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-13 03:01:12 +00:00
kazu
9208951d33
fix typos
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-06 10:01:48 +00:00
naruse
1346b84c19
NTFS's ctime is creation time! [ruby-core:33269]
...
Note that UFS2, HFS+, ZFS, and ext4 also have birth time.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-20 19:38:42 +00:00
nobu
41cae1744f
* file.c (file_expand_path): use cygwin_conv_path on cygwin 1.7 or
...
later.
* ruby.c (push_include_cygwin): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 12:24:41 +00:00
nobu
ba8dc58ebb
* file.c (NUM2DEVT, DEVT2NUM, PRI_DEVT_PREFIX): fallback to
...
unsigned int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-15 14:36:28 +00:00
nobu
a45936d454
* configure.in (dev_t): use RUBY_REPLACE_TYPE.
...
* file.c (rb_stat_inspect): use PRI_DEVT_PREFIX.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-15 11:30:33 +00:00
naruse
694826d7e2
Refix for r29493; it is unsigned.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-14 00:09:07 +00:00
naruse
51427700cc
* file.c (DEVT2NUM): added. Size of dev_t is depend on the
...
environment even if POSIX defines dev_t as unsigned integer.
For example, OpenVMS, 64bit Solaris 9, and NetBSD 6 defines
dev_t as 64bit unsigned integer.
* file.c (rb_stat_dev): use DEVT2NUM.
* file.c (rb_stat_dev_major): dev_t is not long. major(3)'s return
value is int.
* file.c (rb_stat_dev_minor): dev_t is not long. minor(3)'s return
value is int.
* configure.in: check size of dev_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-13 23:09:56 +00:00
nobu
0fd37b09ee
* file.c (rb_file_s_readlink): symlink target should be in
...
filesystem encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-04 14:48:55 +00:00
nobu
d2da9597c3
* file.c (rb_get_path_check): clarify error message for
...
ASCII-incompatible path name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-29 14:25:23 +00:00
nobu
909477ec1d
* file.c (null_device): move from io.c.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-27 06:26:41 +00:00
nobu
8aa6059dbf
* file.c (realpath_rec): rb_str_modify depends on the length, so
...
resize instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-06 09:59:31 +00:00
akr
a2ebc53ec4
* file.c (realpath_rec): call rb_str_modify before rb_str_set_len.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-04 21:44:20 +00:00
usa
49e259ec58
* file.c (file_expand_path): wrong condition. [ruby-core:31591]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-02 03:25:12 +00:00
nobu
47fd9eb6e1
* file.c (file_expand_path): suppress a warning.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-30 07:06:51 +00:00
nobu
6d56e80ad1
* file.c (file_expand_path): home directory must be absolute.
...
[ruby-core:31537]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-29 23:51:53 +00:00
nobu
a99de84663
* file.c (file_expand_path): should check if could find user.
...
[ruby-core:31538]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-29 23:33:21 +00:00
nobu
b67ecc80df
* file.c (rb_file_s_basename): pass baselen to rmext.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-28 20:52:16 +00:00
naruse
7175a9073e
* class.c, compile.c, dir.c, file.c, iseq.c, parse.y, random.c:
...
clean unused-value warnings.
* cont.c, process.c, vm_exec.h: clean cast warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-27 07:13:43 +00:00
nobu
25b9eb5e57
* include/ruby/ruby.h (rb_data_type_t): restructured. [ruby-dev:41862]
...
add parent member.
* error.c (rb_typeddata_inherited_p): new function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-18 07:31:54 +00:00
usa
09e1383bcf
* file.c (ruby_find_basename): set correct baselen.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-07 04:22:30 +00:00
usa
2520f3f79c
* file.c (ruby_find_basename): should initialize f.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-07 03:03:19 +00:00
usa
09ee12bb20
* io.c (argf_inplace_mode_set): prohibits an assignment of a tainted
...
value.
* file.c (ruby_find_basename, ruby_find_extname): split from
rb_file_s_basename() and rb_file_s_extname().
* util.c (ruby_add_suffix): support arbitrary length of the suffix
to get rid of the potential buffer overflow.
reported by tarui.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-02 14:31:26 +00:00
usa
e2f4729d42
* file.c (rb_realpath_internal, realpath_rec): skip UNC share root
...
on DOSISH platforms.
http://pc12.2ch.net/test/read.cgi/tech/1272248179/600
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-29 05:20:06 +00:00
usa
4df965f4ed
* file.c (rb_str_encode_ospath): when the encoding of the parameter
...
is ASCII-8BIT, should recognize as filesystem encoding, and convert
to UTF-8 on Windows.
* file.c (realpath_rec): should convert to ospath encoding before
calling lstat().
* file.c (rb_realpath_internal): resolved string should take over
the encoding of base string.
* transcode.c (rb_str_encode): should return new string always.
fixed #3444 .
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-17 09:46:30 +00:00
nobu
45815f9c9d
* file.c (rb_f_test): 'W' should test writable by real uid/git,
...
not world writable. [ruby-core:30587]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-04 23:30:48 +00:00
naruse
455554b64c
* file.c (file_expand_path): Refix r28102: this breaks
...
r28039. test for [ruby-dev:41429] is added. [ruby-core:30516]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-31 08:47:08 +00:00
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