Commit graph

122 commits

Author SHA1 Message Date
usa
bf748365c7 * win32/win32.c (flock_winnt, flock_win95): unlock file even if
LOCK_NB is specified. (backported from CVS HEAD)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-26 01:53:02 +00:00
ocean
02ee8870d6 * win32/win32.c (rb_w32_close): didn't close socket handle.
* win32/win32.c (rb_w32_open_osfhandle): bcc32's _open_osfhandle
  never set EMFILE.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-06 11:05:31 +00:00
usa
525c8f80b2 * dir.c (dir_s_mkdir): win32 special processing doesn't need any
longer. (backported from CVS HEAD)

* win32/win32.[ch] (rb_w32_mkdir): new function. POSIX.1 compatible
  interface. (backported from CVS HEAD)

* win32/win32.[ch] (rb_w32_rmdir): new function. (backported from CVS
  HEAD)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-05 01:50:06 +00:00
ocean
f4960beffe * bcc32/Makefile.sub: bcc32 should use RTL dll (backport from HEAD)
[ruby-dev:25306]

* win32/win32.[ch]: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-24 14:52:25 +00:00
ocean
b35a261a79 * win32/win32.[ch]: failed to compile on bcc32 (and probably wince)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-24 09:40:34 +00:00
usa
8dac052af4 * win32/win32.[ch] (rb_w32_isatty): new function to replace MSVCRT's
isatty because it never sets errno. (backported from CVS HEAD)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-15 08:05:10 +00:00
usa
6f3923f29e * win32/win32.c (rb_w32_fdisset): check whether the handle is valid.
fixed: [ruby-core:03959]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-15 05:31:32 +00:00
usa
4785d53be1 * win32/win32.c (rb_w32_fdisset): rollback previous commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-15 04:07:53 +00:00
usa
9ccc9cfaf3 * win32/win32.c (rb_w32_fdisset): check whether fd is socket.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-15 02:06:26 +00:00
usa
9cd4987614 * win32/win32.c (rb_w32_close): need to reset osfhnd().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-14 08:10:32 +00:00
usa
2807bd47af * eval.c (run_trap_eval): prototype; avoid VC++ warnings.
* ext/socket/getaddrinfo.c: fix typo. fixed: [ruby-core:03947]

* win32/win32.c: need to include dln.h.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-11 03:44:40 +00:00
usa
c56fa330b2 * win32/win32.c (CreateChild): search executable file if no program
name given. (backported from CVS HEAD)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-29 05:00:29 +00:00
usa
518c3a3479 * win32/win32.c (CreateChild): push back the last space before next
loop because CharNext() eats it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-29 04:17:05 +00:00
usa
54c24dfc99 * eval.c (ruby_options): now we cannot call rb_glob() before
ruby_init(), so call rb_w32_cmdvector() at ruby_options().

* win32.{c,h} (rb_w32_cmdvector): rename make_cmdvector() and
  export it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-12 06:06:15 +00:00
eban
dfd322b36c * win32/win32.c (isUNCRoot): should check NUL after '.'.
[ruby-dev:24590]
* win32/win32.c (isUNCRoot): fixed buffer overrun.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-25 09:40:55 +00:00
usa
0ac0f20c1f * win32/win32.c (rb_w32_call_handler): workaround for Ctrl-C.
merge from HEAD.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-22 04:06:46 +00:00
usa
ed4f3ae201 * win32/win32.c (CreateChild): strip trailing spaces. [ruby-dev:24143]
merge from HEAD.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-30 02:30:55 +00:00
ocean
c5cd2349e9 * win32/win32.{h,c} (rb_w32_{f,fd,fs}open): workaround for bcc32's
{f,fd,fs}open bug. set errno EMFILE and EBADF. [ruby-dev:23963]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-25 02:08:12 +00:00
usa
dda47e42a8 * win32/win32.c (rb_w32_opendir): use FindFirstFile()/FindNextFile()/
FindClose() instead of _findfirst()/_findnext()/_findclose().
  merge from HEAD.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-21 01:29:49 +00:00
eban
66598727ef win32/win32.c (rb_win32_stat): add "." to buf1 only if it has a drive letter.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-27 09:13:50 +00:00
eban
4539512afc * win32/win32.c (rb_w32_stat): remove _fullpath() for NUL: device.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-27 08:00:23 +00:00
nobu
113423bdff * win32/win32.c (make_cmdvector): process backslashes even if a quote
is not enclosed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-06 02:42:10 +00:00
usa
9292a6254e * win32/win32.c (do_spawn, do_aspawn): should return child's exit
status to parent.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-21 06:23:51 +00:00
usa
d820362c50 * win32/win32.c (do_spawn, do_aspawn): should wait child process even
if callded with P_OVERLAY.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-21 06:10:12 +00:00
usa
05ea0b76e6 * win32/win32.c (CreateChild): need to quote cmd if RUBYSHELL is set.
* win32/win32.c (CreateChild): fix condition about whether to call
  shell or not.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-05 16:25:55 +00:00
nobu
b6367d64f4 * win32/win32.c (isInternalCmd): stupid miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-05 15:36:21 +00:00
nobu
01e3a55648 * lib/mkmf.rb (have_library, find_library): configure by library
name.

* win32/win32.c (isInternalCmd): distinguish command.com and
  cmd.exe.

* win32/win32.c (make_cmdvector): a character just after wildcard
  was ignored.  [ruby-core:01518]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-05 15:00:33 +00:00
usa
92dbabb0a4 * win32/win32.c (map_errno): support winsock error.
* win32/win32.c (pipe_exec, CreateChild, poll_child_status, waitpid,
  kill, link, rb_w32_rename, unixtime_to_filetime, rb_w32_utime):
  pass errno to map_errno().

* win32/win32.c (rb_w32_select, rb_w32_accept, rb_w32_bind,
  rb_w32_connect, rb_w32_getpeername, rb_w32_getsockname,
  rb_w32_getsockopt, rb_w32_ioctlsocket, rb_w32_listen, rb_w32_recv,
  rb_w32_recvfrom, rb_w32_send, rb_w32_sendto, rb_w32_setsockopt,
  rb_w32_shutdown, rb_w32_socket, rb_w32_gethostbyaddr,
  rb_w32_gethostbyname, rb_w32_gethostname, rb_w32_getprotobyname,
  rb_w32_getprotobynumber, rb_w32_getservbyname, rb_w32_getservbyport,
  rb_w32_fclose, rb_w32_close): use map_errno().

* win32/win32.h: add winsock errors.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-26 20:17:18 +00:00
usa
381ff05505 * win32/win32.c (rb_w32_utime): never use utime() of C runtime.
[ruby-talk:77782]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-03 17:48:51 +00:00
usa
f3999874e4 * win32/win32.c (isInternalCmd): shouldn't return if find end of str.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-01 06:54:28 +00:00
nobu
3404b920d6 * error.c (rb_raise): snprintf() termination moved to
win32/win32.c.

* win32/win32.c (valid_filename, str_grow): unused.

* win32/win32.c (NTLoginName, ChildRecord): make static.

* win32/win32.c (CreateChild): argument check.

* win32/win32.c (kill): should not call CloseHandle() when
  OpenProcess() failed.

* win32/win32.c (rb_w32_vsnprintf, rb_w32_snprintf): ensure buffer
  terminated.  [ruby-talk:69672]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-30 06:10:09 +00:00
usa
b431230396 * io.c (rb_fdopen): set errno if it's zero on win32 platforms.
* ext/openssl/ossl_ssl.c (TO_SOCKET): define special version when
  _WIN32 is defined. this is ruby's problem, not OpenSSL.

* win32/win32.c: remove some old comments.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-26 12:27:04 +00:00
usa
5b1008a005 * win32/win32.c (make_cmdvector): recognize quote within string.
based on Nobu's patch ([ruby-win32:450]). [ruby-talk:75853]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-18 06:00:24 +00:00
usa
77e941269f * win32/win32.c (rb_w32_opendir): need to set errno. [ruby-talk:73761]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-17 12:30:15 +00:00
eban
e617fd0bf8 * win32/win32.c (_CRTIMP): redefine _CRTIMP on MinGW.
* configure.in: remove '-D__USE_CRTIMP' from XCFLAGS on MinGW.
* win32/win32.c (NtMakeCmdVector): handle quotes only if not instring.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-29 09:11:18 +00:00
usa
3b68b107e9 * win32/win32.c (kill): set errno after calling raise().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-20 04:32:52 +00:00
usa
277d89447a * win32/win32.c (kill): fix typo and add signal 0 support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-15 00:33:57 +00:00
eban
b7e6fc019c * win32/win32.c (NtInitialize): set the floating-point control word
on bcc32.

* win32/win32.h, bcc32/Makefile.sub: use missing/isinf.c, should not
  use _finite() because it returns 0 if NaN.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-20 14:35:41 +00:00
nobu
6e4a83c0a3 * win32/win32.c (rb_w32_stat): check arguments. [ruby-dev:20007]
[ruby-win32:535]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-11 10:02:37 +00:00
usa
63f3bb891c * win32/win32.c (map_errno): map OS error to errno. [new]
* win32/win32.c (pipe_exec, CreateChild, poll_child_status, waitpid,
	  kill, link, rb_w32_rename, unixtime_to_filetime, rb_w32_utime): use
	  map_errno() instead of using GetLastError() directly.

	* win32/win32.c (rb_w32_select, rb_w32_accept, rb_w32_bind,
	  rb_w32_connect, rb_w32_getpeername, rb_w32_getsockname,
	  rb_w32_getsockopt, rb_w32_ioctlsocket, rb_w32_listen, rb_w32_recv,
	  rb_w32_recvfrom, rb_w32_send, rb_w32_sendto, rb_w32_setsockopt,
	  rb_w32_shutdown, rb_w32_socket, rb_w32_gethostbyaddr,
	  rb_w32_gethostbyname, rb_w32_gethostname, rb_w32_getprotobyname,
	  rb_w32_getprotobynumber, rb_w32_getservbyname, rb_w32_getservbyport,
	  rb_w32_fclose, rb_w32_close): map winsock error to errno.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-28 15:01:56 +00:00
nobu
801406cb5d * win32/win32.c (flock): supports larger files, and maps error
code.

* win32/win32.c (rb_w32_asynchronize): returns errno from child
  thread.

* win32/win32.c (rb_w32_fclose, rb_w32_close): ensures unlocked.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-28 13:54:14 +00:00
nobu
d019ce0ad1 * win32/win32.c (rb_w32_opendir, rb_w32_utime): need parens.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-17 05:36:59 +00:00
usa
396f32c98e * win32/win32.c (link): implement with CreateHardLink().
* win32/win32.c, win32/win32.h (rb_w32_utime): enable utime() to
  directory if on NT. [new] (ruby-bugs-ja:PR#393)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-17 05:17:46 +00:00
usa
0243dab598 * win32/win32.c (pipe_exec): remove unnecessary SetStdHandle().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-22 14:21:07 +00:00
usa
a8bb4ed577 * process.c (proc_exec_v): follow to proc_spawn_v(). call do_aspawn()
on Win32.

* process.c (rb_proc_exec): call do_spawn() on Win32.

* win32/win32.c, win32/win32.h (do_spawn, do_aspawn): add mode flag.

* process.c (proc_spawn_v, rb_f_system): follow above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-06 04:30:27 +00:00
usa
b369eea79f * file.c (utimbuf): use utimbuf instead of _utimbuf if defined _WIN32.
* win32/Makefile.sub (LIBS): use oldnames.lib.

* win32/win32.c (rb_w32_getcwd): follow above change.

* win32/win32.h: ditto.

* wince/direct.c, wince/direct.h (getcwd): ditto.

* wince/io.h: ditto.

* wince/string.c, wince/wince.h (stricmp, strnicmp): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-04 18:17:30 +00:00
usa
d80285a9fe * process.c (rb_proc_exec): use same logic as DJGPP on win32 ports.
* process.c (rb_f_system): ditto.

* win32/win32.c, win32/win32.h (do_aspawn): [new]. for arrayed
  arguments.

* win32/win32.c (CreateChild): add new argument for real filename of
  executing process.

* win32/win32.c (NtHasRedirection, pipe_exec): follow above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-04 06:26:10 +00:00
matz
90c4dae08f WinCE patch merged
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-02 07:57:17 +00:00
nobu
c405dbf692 * win32/win32.c (rb_w32_stat): empty path is invalid, and return
ENOENT rather than EBADF in such case.  [ruby-talk:57177]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-01 13:47:06 +00:00
nobu
1de50c518b * win32/win32.c (rb_w32_putc): wrong condition to fill or flush on
bccwin32.  [ruby-win32:408]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-12 14:47:07 +00:00