summaryrefslogtreecommitdiff
path: root/win32/win32.c
AgeCommit message (Collapse)Author
2009-12-05merges r24253 from trunk into ruby_1_9_1.yugui
-- * win32/win32.c (rb_w32_{open,wopen}): fixed typos. these conditions mean to call runtime's open() if textmode. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@26018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-05merges r25092 from trunk into ruby_1_9_1.yugui
-- * 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/branches/ruby_1_9_1@26017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-05merges r25133 from trunk into ruby_1_9_1. c.f. [ruby-dev:39819]yugui
-- * win32/wini32.c (LK_ERR): with overlapped I/O, LockFileEx() returns ERROR_IO_PENDING if the file is locked. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@26016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-05merges r21903 from trunk into ruby_1_9_1. fixes the backport task #1063.yugui
-- * win32/win32.c (rb_w32_write): limit write size to 32KB if the file seems to be console. [ruby-core:21613] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@26004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-08merges r24389 from trunk into ruby_1_9_1.yugui
-- * win32/win32.c (has_redirection): need to execute shell if commandline includes newline. cf. [ruby-core:24560] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@24465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-08merges r24367 from trunk into ruby_1_9_1.yugui
-- * win32/win32.c (rb_w32_connect): return value was broken when some error occurred. [ruby-core:24234] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@24460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15merges r21487 from trunk into ruby_1_9_1.yugui
* include/ruby/intern.h, thread.c, win32/Makefile.sub (rb_fdset_t, rb_fd_init, rb_fd_term, rb_fd_zero, rb_fd_set, rb_fd_clr, rb_fd_isset, rb_fd_select, rb_fd_ptr, rb_fd_max, HAVE_RB_FD_INIT): new type, functions, and macros for Windows. * win32/win32.c (extract_fd, rb_w32_select): use rb_fdset_t to expand fd_array if needed. [ruby-core:19946] * win32/win32.c (copy_fd): new funcion for rb_w32_select(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15merges r21506 from trunk into ruby_1_9_1.yugui
* win32/win32.c (rb_w32_aspawn): should not escape with carret unless using cmd.exe. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15merges r21473 from trunk into ruby_1_9_1.yugui
* win32/win32.c (internal_cmd_match): extracted from is_internal_cmd. * win32/win32.c (argv_size, join_argv): escapes redirection, pipe and carret punctuations with carrets. * win32/win32.c (rb_w32_aspawn): ditto, and redirections and pipe have no meanings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-12merges r21447 from trunk into ruby_1_9_1.yugui
* win32/win32.c (open_dir_handle): extracted from rb_w32_opendir. * win32/win32.c (winnt_stat): gets rid of strange behavior of GetFileAttributes(). [ruby-core:21269] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-09merges r21336 from trunk into ruby_1_9_1.yugui
* win32/win32.c (init_env): use user profile folder than personal folder. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-28merges r21099 from trunk into ruby_1_9_1.yugui
* win32/win32.c (rb_w32_argv_size): if an argument is empty, it's size is 2, not 0, because it will be converted to "". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25merges r20945 from trunk into ruby_1_9_1.yugui
* win32/win32.c (rb_w32_spawn): deals with quoted commands. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25merges r20942 from trunk into ruby_1_9_1.yugui
* win32/win32.c (rb_w32_spawn): support normal commands with arguments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25merges r20909 and r20910 from trunk into ruby_1_9_1.yugui
* configure.in (mingw): no longer uses snprintf and vsnprintf of msvcrt. * win32/win32.c (rb_w32_vsnprintf, rb_w32_snprintf): removed. * win32/Makefile.sub (config.h): vsnprintf exists in VC7 or later. * win32/mkexports.rb (Exports#initialize): aliases rb_w32_vsnprintf and rb_w32_snprintf for binary compatibility. * sprintf.c (rb_str_format): uses snprintf instead of sprintf. * numeric.c (flo_to_s, rb_num2long, rb_num2ll): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-21merges r20892 from trunk into ruby_1_9_1.yugui
* dln.c (dln_find_1): supplements an extension for executable files on DOSish platforms. * io.c (pipe_open): use rb_w32_aspawn() for array form. * win32/win32.c (rb_w32_pipe_exec): no longer used. * win32/win32.c (rb_w32_spawn, rb_w32_aspawn): deals with batch files and commands with extensions. [ruby-core:20695] * win32/win32.c (has_redirection): supports environment variables references. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-21merges r20528 from trunk into ruby_1_9_1.yugui
* win32/win32.c (rb_w32_read): ERROR_BROKEN_PIPE is not a real error at this point. * io.c (pipe_open): use rb_w32_spawn() instead of rb_w32_pipe_exec() to use our own redirection scheme. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-05 * win32/win32.c (rb_w32_read, rb_w32_write, rb_w32_isatty): checkusa
whether fd is valid. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 * win32/win32.c (waitpid): fix bug of checking child slot.usa
* win32/win32.c (FindChildSlotByHandle): new. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-11 * win32/win32.c (rb_w32_accept): commit miss.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-11 * win32/win32.c (rb_w32_accept): secure fd before accept because ifusa
error causes in securing, cannot restore the state of accepted socket. fixed [ruby-core:19728] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-10 * win32/win32.c (ifs_open_socket): should retry without proto_bufferusa
if cannot find the suitable protocol. a patch from Heesob Park. fixed [ruby-core:19713] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-29merged r20014 from trunk into ruby_1_9_1.yugui
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-29merged 20011 from trunk into ruby_1_9_1.yugui
* complex.c: uses macro in declarations. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-29 * win32/win32.c (rb_w32_open): shouldn't seek here.usa
* win32/win32.c (rb_w32_write): write to the end of the file when FAPPEND is specified. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 * win32/win32.c (rb_w32_open): need to seek to the end of the file whenusa
O_APPEND is specified. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28merge from trunk (r19984, r19985, r19991-r19998)usa
* io.c (extract_binmode): new function to extract binmode/textmode options from hash. * io.c (rb_io_extract_modeenc): use above function. * io.c (rb_io_s_pipe): recognize binmode/textmode options. * io.c (make_readconv): now can specify the size of cbuf. * io.c (read_all, appendline, io_getc, rb_io_ungetc): follow above change. * win32/win32.c (rb_w32_pipe_exec): internal fds should be always binmode. * test/ruby/test_file.rb (test_each_char_extended_file, test_getbyte_extended_file): add tests. * test/ruby/test_file.rb (test_*_extended_file): test in default/text/ binary mode. * test/ruby/test_file.rb (test_para_gets_extended_file): output file should be binmode. * test/ruby/test_io.rb (test_copy_stream, test_copy_stream_socket): skip some tests if there isn't IO#nonblock=. * test/ruby/test_io.rb (test_close_on_exec): skip if there isn't IO#close_on_exec=. * test/ruby/test_io.rb (test_bytes, test_readbyte): depend on binmode. * test/ruby/test_io.rb (test_sysopen): should specify the mode of IO::for_fd if F_GETFL is not available. * test/ruby/test_io_m17n.rb (test_getc_invalid3): should set binmode if enc is not compatible with ASCII. * test/ruby/test_require.rb (test_require_too_long_filename): too long commandline may be rejected by OS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@19999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-26* thread.c (blocking_region_{begin,end}): declared as inline.nobu
* util.c (freedtoa): used only when MULTIPLE_THREADS is not defined. * win32/win32.c (rb_w32_pipe): serial is DWORD. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-04* dln.c: Ruby no longer supports Windows CE.yugui
* eval.c: ditto. * include/ruby/defines.h: ditto. * include/ruby/win32.h: ditto. * ruby.c: ditto. * strftime.c: ditto. * win32/Makefile.sub: ditto. * win32/win32.c: ditto. * ext/tk/extconf.rb: ditto. * lib/fileutils.rb: ditto. * test/fileutils/test_fileutils.rb: ditto. * wince/*: removed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23 * win32/win32.c (subtruct): check tv_sec. reported by ko1.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-08 * win32/win32.c (getppid): typo. [ruby-dev:36202]usa
* process.c (get_ppid): mention the return value on Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-08 * win32/win32.c (filetime_to_unixtime): remove unused variable.usa
[ruby-dev:36191] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-03 * win32/win32.c (filetime_to_timeval): new function, split fromusa
gettimeofday(). * win32/win32.c (gettimeofday): use above function. * win32/win32.c (filetime_to_unixtime): ditto. [ruby-dev:36135] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-03* win32/win32.c: fix ruby/signal.h depending codes.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-02 * win32/win32.c (gettimeofday): easier calculation. use the definitionusa
of the Gregorian calender. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-02 * win32/win32.c (gettimeofday): calc tv_sec and tv_usec from systemusa
time by myself. [ruby-dev:36084] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 * win32/win32.c (gettimeofday): shouldn't use mktime(2) because it'susa
buggy about handling summer time. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-30 * win32/win32.c (rb_w32_open, rb_w32_read, rb_w32_write): fallback tousa
MSVCRT if text mode is specified. this case will not be used from ruby itself. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-30 * win32/win32.c (rb_w32_read): EOF is not error.usa
ref [ruby-dev:36050] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 * win32/win32.c (rb_w32_read, rb_w32_write): more accurate handlingusa
of wait result. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 * win32/win32.c (set_pioinfo_extra): use MSVCRT's open() and close().usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 * win32/win32.c, include/ruby/win32.h (rb_w32_open): overlapped fileusa
I/O support. * win32/win32.c, include/ruby/win32.h (rb_w32_pipe): overlapped pipe I/O support. * wn32/win32.c (rb_w32_read, rb_w32_write): overlapped I/O support to enable canceling I/O. * thread_win32.c (ubf_handle): remove workaround. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-25 * win32.c (init_stdhandle): set binmode.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-01* win32/win32.c (rb_w32_seekdir): no need to rewind to seek forward.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-30* win32/win32.c (rb_w32_select): recalc the rest of timeout for eachnobu
iterations. [ruby-core:18015] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-28* win32/win32.c (overlapped_socket_io, fcntl, rb_w32_close): must notnobu
pass a pointer to int which is smaller than st_data_t on mswin64. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-28* win32/win32.c (CreateChild, overlapped_socket_io): suppressnobu
warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-28 * win32/win32.c (MAXPATHLEN): define before use.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-27* dln.h (dln_find_exe, dln_find_file): deprecated, use reentrantnobu
versions instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-24 * win32/win32.c (exit_handler): use st_free_table() to free socklist.usa
* win32/win32.c (rb_w32_pipe_exec, rb_w32_accept, rb_w32_socket, rb_w32_socketpair): should check and release fd and sockets/handles if an error occurs in rb_w32_open_osfhandle(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e