Commit graph

517 commits

Author SHA1 Message Date
naruse
4a744b3d78 * win32/win32.c (rb_w32_write_console): don't raise exception when
the conversion is for writing to console.
  Patched by Heesob Park [ruby-core:33999]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-31 19:26:30 +00:00
tarui
88ab39f6ab * win32/win32.c (rb_w32_read): fixed more for readline, and so on. [ruby-core:33511]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-06 15:29:45 +00:00
usa
82ec8baa95 * win32/win32.c (rb_w43_read): more fix. [ruby-core:33513]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-02 06:32:01 +00:00
usa
77049334aa * win32/win32.c (rb_w32_read): rollback debug code of previous commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-02 04:49:28 +00:00
usa
6f3225f698 * win32/win32.c (rb_w32_read): workaround for console reading troubles.
fixed [ruby-core:33511]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-02 04:42:29 +00:00
usa
e4288860d8 * win32/win32.c (rb_w32_read): read only 1 byte at once on console.
workaround of Windows bug. see [ruby-core:33460].
  this is not the final solution.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-30 03:26:43 +00:00
nobu
8fba2b63ec * win32/win32.c (rb_w32_write_console): fix argument type.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-29 13:52:26 +00:00
usa
95f0f27dd0 * win32/win32.c (rb_w32_isatty): use GetConsoleMode() to determine the
fd is console or not, just like rb_w32_write_console().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-29 05:33:15 +00:00
usa
3d24592008 * win32/win32.c (rb_w32_write_console): fixed indentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-29 05:11:49 +00:00
luislavena
ac0f5a53b6 * io.c (io_fwrite): use rb_w32_write_console under Windows.
* win32/win32.c (rb_w32_write_console): added to write to write
    Unicode using WriteConsoleW for stdout/stderr. [ruby-core:33166]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 19:49:58 +00:00
nobu
3c4fecda3f * win32/win32.c (filecp, wstr_to_mbstr, mbstr_to_wstr):
refactored.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-23 21:13:35 +00:00
nobu
16cb5ce483 * win32/win32.c (wlink, rb_w32_getppid): use typedef instead of
repeating compilcated function prototypes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-23 12:59:50 +00:00
nobu
8a7aad9952 * fix type warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 12:30:39 +00:00
usa
63b0601792 * win32/win32.c (overlapped_socket_io): get rid of a warning of 64bit
mingw.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-09 04:30:15 +00:00
usa
1f3e96b7ac * win32/win32.c (get_wsa_extension_function): typos. orz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-08 05:41:49 +00:00
usa
7dd7ce0ff7 * win32/win32.c (finish_overlapped_socket): refactoring.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-08 02:48:07 +00:00
usa
877e90f17a * win32/win32.c (get_proc_address): refactoring.
* win32/win32.c (get_wsa_exetinsion_function): refactoring.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-08 02:03:40 +00:00
usa
1503e320d9 * win32/win32.c (rb_w32_getppid): support Win64.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-27 09:15:02 +00:00
nobu
150b4efa55 * win32/win32.c (rb_w32_open_osfhandle, rb_w32_wopen, rb_w32_pipe):
use uintptr_t instead of long for win64.

* win32/win32.c (socketpair_internal): suppress warnings.

* win32/win32.c (ftruncate): use HANDLE instead of long for win64.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-12 14:58:23 +00:00
usa
fb44f02aa1 * win32/win32.c (rb_w32_strerror): get English message first, instead
of system default. see [ruby-dev:42358].
  [experimental]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-12 07:05:56 +00:00
usa
cba4cda71d * win32/win32.c (rb_w32_strerror): unmap some range of errno for
workaround of VC10's strerror() and sys_nerr problem.
  based on a patch from Akio Tajima, [ruby-dev:42355].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-12 06:54:52 +00:00
usa
1fcb7a5ee0 * win32/win32.c (rb_w32_getenv): should return NULL if specified name
is empty. a patch from Heesob Park at [ruby-core:32650]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-30 07:12:49 +00:00
usa
51f6d787ac * win32/win32.c (rb_w32_spawn, rb_w32_aspawn): don't forget to free
memory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-02 00:12:43 +00:00
usa
d35fdf3335 * win32/win32.c (CreateChild): unicodize.
* win32/win32.c (rb_w32_spawn, rb_w32_aspawn): convert arguments of
  CreateChild() from ACP to WideChar.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-02 00:02:52 +00:00
usa
51077c2c22 * win32/win32.c (rb_w32_read): call ReadFile() with len = 0 before
reading really on console, because the first ReadFile() call after
  PeekConsoleInput() always returns broken data. (Windows's bug).
  [ruby-core:29018]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-27 13:36:26 +00:00
usa
f82a6840a8 * thread.c (subtract_tv): if the rest is zero, should finish waiting
immediately.

* win32/win32.c (subtract): ditto.
  based on a patch from Roger Pack in [ruby-core:27957].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-20 16:13:35 +00:00
usa
d165fa2504 * win32/win32.c (argv_size): merged into join_argv() to maintain the
agreement with it.  removed code has a calclulation bug.
  fixed [Bug#2388]

* win32/win32.c (join_argv): calc and return the length of joined
  argv.
  the cause of the original bug was clarified by Masaya TARUI
  <tarui AT prx.jp> and the solution was suggested by him, too.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 12:15:47 +00:00
nobu
414727ca70 * win32/win32.c (rb_w32_conv_from_wchar): use ECONV_UNDEF_REPLACE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-16 09:41:43 +00:00
usa
fe0d339c2c * win32/win32.c, include/ruby/win32.h (rb_w32_has_cancel_io): new
function.

* io.c (WAIT_FD_IN_WIN32): check only when it's not cancelable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-10 05:02:44 +00:00
nobu
2c01a07bf4 * ext/etc/etc.c (etc_systmpdir): moved from ext/tmpdir.
* ext/etc/etc.c (etc_sysconfdir): added.

* lib/rubygems/config_file.rb, lib/tmpdir.rb: use etc.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-08 03:25:17 +00:00
wanabe
a8209ffcc7 * win32/win32.c: add declaration of wstati64 for gcc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-30 21:45:33 +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
usa
b6847f7acc * win32/win32.c (rb_w32_wopen): shouldn't use FILE_FLAG_OVERLAPPED with
normal file.  #1807, #2510, #2549


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-22 16:49:39 +00:00
usa
727371f88a * include/ruby/win32.h: check definition existance before defining
errno macros.

* win32/win32.c (errmap): define winsock errors mappings.
  these are VC++10 support. see [ruby-core:29278]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-06 05:58:07 +00:00
usa
54da3ecbcb * include/ruby/win32.h, win32/win32.c (EWOULDBLOCK): VC10 already
defined EWOULDBLOCK.  based on a patch from Charlie Savage,
  see [ruby-core:29255]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-05 04:26:33 +00:00
usa
c78dbcd131 * win32/win32.c (init_env): wrong calculation of the head of setenv
string.  [ruby-core:29216]
  a patch from Heesob Park in [ruby-core:29218]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-02 02:57:05 +00:00
nobu
b3a039a2cb * win32/win32.c (rb_w32_{read,write}): fix handle leaks. based on
a patch from Heesob Park in [ruby-core:28919].  [ruby-core:28833]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-25 05:50:08 +00:00
nobu
cb2f56aaf4 * win32/win32.c (rb_w32_read): limit read size to 16KB if the file
seems to be console.  [ruby-core:28902]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-24 05:34:05 +00:00
nobu
3694f1dda7 * ext/tmpdir: split from lib/tmpdir.rb.
* win32/win32.c (rb_w32_system_tmpdir): extracted from init_env.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-16 06:20:23 +00:00
nobu
724f1f4a6e * win32/win32.c (rb_w32_getcwd): remvoed duplicated code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-16 05:48:07 +00:00
nobu
772acb9f1d * win32/win32.c (init_env): get rid of alloca() for outer string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-11 22:25:22 +00:00
wanabe
131f0a409b * win32/win32.c (signbit): allow x64.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-10 16:36:18 +00:00
nobu
4bcae18e37 * io.c (pipe_open): suppressed a warning.
* win32/win32.c (rb_w32_map_errno, winnt_stat, rb_chsize): ditto.

* win32/win32.c (rb_w32_aspawn): get rid of overflow.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-05 08:51:12 +00:00
nobu
ee48a91993 * win32/win32.c (signbit): defined on mingw.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-05 02:59:33 +00:00
nobu
35345f1c09 * win32/win32.c (signbig): defined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-02 21:19:33 +00:00
usa
4301bbbe0f * win32/win32.c (init_env): use _wputenv() instead of
SetEnvironmentVariableW() because latter doesn't set msvcrt's environ
  work area, of course.
  [Bug #2552]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-12 05:54:47 +00:00
usa
3fb4d27a8d * win32/win32.c (CreateChild): force to inherit standard I/O handles.
this change fixes [ruby-core:27273], but other side effects might
  exist.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-28 14:01:12 +00:00
wanabe
754462d4f1 * win32/win32.c (overlapped_socket_io, recvmsg, sendmsg): pass handle
instead of pointer to CloseHandle().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-01 04:36:33 +00:00
usa
b16e6a93ca * win32.c (recvmsg, sendmsg, link): shouldn't raise ruby's exceptions
in the functions expected as system API.  see [ruby-dev:39579] and
  [ruby-dev:39582]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-30 04:15:54 +00:00
usa
dd5c77f0c9 * win32/win32.c (rb_w32_spawn): `\'' is also quote character.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-16 07:10:08 +00:00