Commit graph

247 commits

Author SHA1 Message Date
nobu
232449ed55 * 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/branches/ruby_1_8@17160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-14 07:56:06 +00:00
nobu
cfe0f3e6ac * 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/branches/ruby_1_8@16785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-03 07:06:23 +00:00
nobu
9ed3d64d1d * suppress warnings on cygwin, mingw and mswin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-01 19:55:25 +00:00
nobu
1378795e08 * suppress warnings with -Wwrite-string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-31 09:28:20 +00:00
usa
cb49b26e7c * 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/branches/ruby_1_8@16618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-27 03:13:29 +00:00
nobu
d56e15200b * 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/branches/ruby_1_8@16615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-26 09:24:56 +00:00
usa
bae65bdc33 * 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/branches/ruby_1_8@16610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-26 07:46:29 +00:00
knu
fff1bdffd1 * file.c (lchmod_internal): Remove a compiler warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-20 04:16:28 +00:00
nobu
e650556b65 * file.c (file_expand_path): fix for short file name on Cygwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 14:54:07 +00:00
nobu
7a80cd6029 * file.c (rb_file_s_extname): first dot is not an extension name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 02:29:13 +00:00
nobu
ff1be4e089 * 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/branches/ruby_1_8@16420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 06:34:02 +00:00
usa
be4b3f9673 * file.c (eaccess): workaround for recent msvcrt's behavior.
[ruby-core:16460]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-22 01:06:08 +00:00
nobu
9cee075559 * rubyio.h (rb_io_t): renamed from OpenFile.
* ruby.h (struct RHash), file.c, gc.c, io.c, ext/dl/dl.c,
  ext/io/wait/wait.c, ext/pty/pty.c, ext/readline/readline.c,
  ext/socket/socket.c: ditto.

* win32/win32.h: removed workaround for OpenFile.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-15 03:35:55 +00:00
nobu
613ad45042 * file.c (isdirsep): backslash is valid path separator on cygwin too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-08 09:51:00 +00:00
nobu
9e8badfc59 * 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/branches/ruby_1_8@15477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-14 17:42:27 +00:00
nobu
7864d891e2 * file.c (rb_file_s_utime): inhibits with secure level 2 or higher.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-14 07:02:54 +00:00
nobu
ac56065357 * configure.in (group_member): check if presents.
* configure.in (XCFLAGS): add _GNU_SOURCE on linux.

* file.c (group_member): use system routine if available.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-30 04:10:59 +00:00
nobu
60e3b1b441 * file.c (rb_file_s_rename): deleted code to get rid of a bug of
old Cygwin.

* file.c (rb_file_truncate): added prototype of GetLastError()
  on cygwin.  [ruby-dev:31239]

* intern.h (is_ruby_native_thread): prototype.

* missing/strftime.c (strftime): fix printf format and actual
  arguments.

* ext/Win32API/Win32API.c (Win32API_initialize): ditto.

* ext/tk/tcltklib.c (ip_finalize): ditto.

* ext/dl/ptr.c (rb_dlptr_inspect): ditto.  [ruby-dev:31268]

* ext/dl/sym.c (rb_dlsym_inspect): ditto.

* ext/socket/getnameinfo.c: include stdio.h always.

* ext/win32ole/win32ole.c (ole_hresult2msg, folevariable_name,
  folevariable_ole_type, folevariable_ole_type_detail,
  folevariable_value, folemethod_visible): missing return value.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-22 05:33:47 +00:00
nobu
d33cc535c3 * node.h (struct rb_thread.locals): explicit as struct.
[ruby-core:10585]

* eval.c, node.h (enum rb_thread_status, struct rb_thread,
  rb_curr_thread, rb_main_thread): prefixed.  [ruby-core:10586]

* file.c (chompdirsep): made an unprefixed name static.

* io.c (io_fread): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-24 14:40:08 +00:00
nobu
a30657e815 * file.c (rb_stat_s_utime): fixed a commit miss for the platforms
where utimes() does not exist.

* lib/fileutils.rb (touch): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-04 14:38:02 +00:00
nobu
566b460705 * file.c (rb_file_s_utime): allow nil to set the current time.
* lib/fileutils.rb (touch): ditto, and added :mtime and :nocreate
  options.  fixed: [ruby-talk:219037]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-03 13:37:02 +00:00
usa
d158c31683 * file.c (rb_find_file): should not call fpath_check() with NULL.
fixed: [ruby-core:09867]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-09 08:48:03 +00:00
matz
10ec337f53 * file.c (test_grpowned, rb_stat_grpowned): should honor
supplementary group IDs.  [ruby-core:09546]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-11-22 08:37:11 +00:00
nobu
f3925d5ae0 * file.c (rb_path_end): skip root directory. fixed: [ruby-core:08913]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-25 12:25:29 +00:00
nobu
f335958500 * file.c (path_check_0, fpath_check): disable path check on cygwin.
[ruby-talk:213074]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-07 14:28:36 +00:00
nobu
401ff253ef * file.c (path_check_0): check if sticky bit is set on parent
directories for executable path.  fixed: [ruby-dev:29415]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-04 20:50:13 +00:00
drbrain
696a5a0572 Fix documentation submitted by Rick Ohnemus. ruby-Bugs-5529. [ruby-core:08725]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-27 22:30:48 +00:00
nobu
f1e332beb5 * file.c (rb_file_s_rename): use errno if set properly.
fixed: [ruby-dev:29293]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-19 02:29:18 +00:00
nobu
55988fddc2 * file.c (rb_stat_[rRwWxX]): check for super user.
fixed: [ruby-core:08616]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-17 10:15:55 +00:00
matz
980326f6f1 * ruby.h: export classes/modules to implement sandbox.
[ruby-core:08283]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-20 07:04:17 +00:00
eban
9e58e4a5e7 * file.c (cygwin_flock): save old errno.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-06 07:13:53 +00:00
eban
1e34639d38 * file.c (rb_thread_flock): ERROR_NOT_LOCKED is not an error on Cygwin.
In such situation, flock() should return 0.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-06 07:06:22 +00:00
nobu
3da2897dc0 * configure.in, dln.c, file.c, intern.h, missing.h (eaccess): use
system routine if provided.  fixed: [ruby-core:07195]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-25 13:30:11 +00:00
ocean
8190c93409 * file.c (rb_file_s_chmod): avoid warning where sizeof(int) !=
sizeof(void*).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-13 18:44:34 +00:00
usa
34664e81af * file.c (eaccess): workaround for VC++8 runtime.
* win32/win32.c (ioinfo): VC++8 support.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-29 19:55:58 +00:00
akr
35d8b850a3 (rb_f_test): fix document. [ruby-dev:28087]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-21 09:20:15 +00:00
ocean
dc2f377889 * file.c (w32_io_info): should return handle because FileIndex is
valid only while file is open. [ruby-dev:28088]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-21 07:53:55 +00:00
ocean
4126b8742f * file.c (w32_io_info): CreateFile failed on Win9x if file was already
opened. (FILE_SHARE_READ was needed, but actually I don't understand
  the flags of CreateFile well...)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-23 16:32:47 +00:00
ocean
ce4cda9de5 * file.c (w32_io_info): should not call GetFileInformationByHandle
for pipe.

* file.c (w32_io_info): checks return value from rb_w32_get_osfhandle.

* file.c (w32_io_info): now can identify directory on WinNT.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-23 09:56:23 +00:00
ocean
2cb3480d22 * intern.h, file.c: failed to compile on windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-23 02:06:00 +00:00
nobu
fff3548e04 * file.c (test_identical): test if two files are identical.
* file.c (rb_f_test): support DOSISH systems where st_ino is not
  reliable.  fixed: [ruby-core:06672]

* win32.h, win32.c (rb_w32_osid): check the running platform.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-22 16:26:39 +00:00
usa
a696d9ad0c * file.c (rb_file_s_basename): skip slashes just after UNC top slashes.
* test/ruby/test_path.rb (test_dirname, test_basename): follow new
  spec. and add new tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-22 05:48:51 +00:00
nobu
f8dd75cbcc * file.c (rb_file_s_basename): DOSISH_UNC is defined on cygwin but
DOSISH is not.  fixed: [ruby-dev:27797]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-21 16:47:13 +00:00
nobu
c49ad1c40d * file.c (rb_path_skip_prefix, rb_file_s_basename): UNC without path
should not be splitted.  fixed: [ruby-dev:27776] [ruby-dev:27786]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-21 13:21:47 +00:00
usa
63fe6ca5a0 * file.c (rb_file_s_dirname): should use skipprefix for UNC path.
pointed out by nobu ([ruby-dev:27744]). fixed: [ruby-core:5076]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-18 09:09:25 +00:00
usa
147dcb2236 * file.c (file_s_dirname): added checks for some patterns with drive
letter. fixed: [ruby-dev:27738]

* test/ruby/test_path.rb (test_dirname): added tests for above
  patterns.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-18 08:27:52 +00:00
nobu
b750e49434 * file.c (rb_file_s_readlink): ERANGE will occur only on GPFS.
[ruby-dev:27699]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-14 14:52:55 +00:00
ocean
fa9a6a96e1 * configure.in: undef HAVE_LINK on BeOS. (link(2) always returns
EINVAL, and this causes error in test/fileutils.)

* file.c: overwride chown(2) and fchown(2) on BeOS. (these functions
  should not change user/group id if -1 is passed as corresponding
  argument, and this causes error in test/fileutils too)
  [ruby-dev:27672]

* file.c (rb_file_s_link): checks HAVE_LINK.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-10 22:48:43 +00:00
nobu
6609fbb02b * file.c (rb_file_s_readlink): readlink(2) on AIX fails with ERANGE if
buffer size is less than required.  fixed: [ruby-dev:27634]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-06 11:18:57 +00:00
nobu
aa9c627fd2 * file.c (rb_file_join): elements may contain null pointer strings.
report and fixed by Lloyd Zusman (hippoman): [ruby-core:06326]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-18 23:29:24 +00:00