summaryrefslogtreecommitdiff
path: root/win32/win32.c
Commit message (Collapse)AuthorAgeFilesLines
* win32.c: fix infinite recursionnobu2013-07-111-0/+1
| | | | | | | * win32/win32.c (rb_w32_pow): undef pow to get rid of infinite recursive call. re-fix [Bug #8495]. [ruby-core:55923] [Bug #8621] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: suppress warningsnobu2013-07-081-0/+4
| | | | | | * win32/win32.c (CharNextExA): cast to suppress warnings by VC6. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: for strict ANSInobu2013-07-081-0/+20
| | | | | | | | * win32/win32.c (rb_w32_pow): move from win32.h and disable strict ANSI mode macro to let _controlfp() stuff defined. [ruby-core:55312] [Bug #8495] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32: for strict ANSInobu2013-07-081-1/+1
| | | | | | | | | * thread_win32.c (w32_thread_start_func, thread_start_func_1), (timer_thread_func): use __stdcall instead of _stdcall which is unavailable in strict ANSI mode. [ruby-core:55312] [Bug #8495] * win32/win32.c (gettimeofday): use __cdecl instead of _cdecl. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (w32_spawn): r41710 made that if the command starts withusa2013-07-051-6/+1
| | | | | | | | | | a quote and includes slash, removed the top quote and NOT removed the last quote. this fixes test failures on test/ruby/test_process.rb and test/webrick. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: use backslashnobu2013-06-301-13/+41
| | | | | | | | * win32/win32.c (join_argv): use backslash instead of slash in program path, otherwise cannot invoke "./c\u{1ee7}a.exe" for some reason. [ruby-core:24309] [Bug #1771] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: codepage awarenessnobu2013-06-301-21/+21
| | | | | | | * win32/win32.c (translate_char, join_argv, has_redirection): make codepage aware. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: rb_w32_udln_find_exe_r,nobu2013-06-301-1/+16
| | | | | | | | rb_w32_udln_find_file_r * win32/win32.c (rb_w32_udln_find_exe_r, rb_w32_udln_find_file_r): codepage independent versions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: UTF-8 spawnnobu2013-06-301-4/+18
| | | | | | | | * win32/win32.c (w32_spawn): extract codepage aware code from rb_w32_spawn(). * win32/win32.c (rb_w32_uspawn): add UTF-8 version function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: UTF-8 aspawnnobu2013-06-301-4/+26
| | | | | | | | | * win32/win32.c (w32_aspawn_flags): extract codepage aware code from rb_w32_aspawn_flags(). * win32/win32.c (rb_w32_uaspawn_flags, rb_w32_uaspawn_flags): add UTF-8 version functions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: w32_getenvnobu2013-06-301-26/+12
| | | | | | | * win32/win32.c (w32_getenv): extract codepage aware code from rb_w32_ugetenv() and rb_w32_getenv(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: w32_stati64nobu2013-06-301-9/+11
| | | | | | | * win32/win32.c (w32_stati64): extract codepage aware code from rb_w32_ustati64() and rb_w32_stati64(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: GetLastError oncenobu2013-06-191-6/+9
| | | | | | * win32/win32.c (poll_child_status): call GetLastError() once. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: no error after retrynobu2013-06-191-0/+3
| | | | | | * win32/win32.c (waitpid): return 0 on error after retried. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: wait until exitnobu2013-06-191-2/+4
| | | | | | | | * win32/win32.c (waitpid): should not return 0 but wait until exit unless WNOHANG is given. waiting huge process may return while active, for some reason. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert r41179 "partially revert r41163 because r41173 didn't fix failure"naruse2013-06-081-1/+1
| | | | | | r41173 is not actually tested; it seems good. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* partially revert r41163 because r41173 didn't fix failurenaruse2013-06-081-1/+1
| | | | | | http://ruby-mswin.cloudapp.net/vc10-x64/ruby-trunk/log/20130608T101707Z.log.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: NET_LUIDnobu2013-06-081-1/+1
| | | | | | | | * configure.in: check for NET_LUID. header macro varies across complier versions. * win32/win32.c: use configured macro. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (NET_LUID): define it on MinGW32.naruse2013-06-051-1/+1
| | | | | | | mingw-w64 has NET_LUID but mingw32 (mingw.org) still doesn't have NET_LUID. reported by taco on IRC git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: check error of SetFilePointernobu2013-05-221-2/+5
| | | | | | | | | | * win32/win32.c (setup_overlapped): check the error code in addition to the result of SetFilePointer() to determine if an error occurred, because INVALID_SET_FILE_POINTER is a valid value. [ruby-core:55098] [Bug #8431] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: extract setup_overlapped and finish_overlappednobu2013-05-221-56/+44
| | | | | | | | * win32/win32.c (setup_overlapped, finish_overlapped): extract from rb_w32_read() and rb_w32_write(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typos. Patch by k_takata.ktsj2013-05-191-6/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* iphlpapi is unavailable with older VCnobu2013-05-141-0/+2
| | | | | | | * include/ruby/win32.h, win32/Makefile.sub, win32/win32.c: iphlpapi is not available with older Visual C. works with VC9 or later at least. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (NET_LUID): mingw may have NET_LUID and not definedusa2013-05-141-1/+1
| | | | | | | _IFDEF_. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (getipaddrs): use alternamtive interface name ifusa2013-05-131-4/+66
| | | | | | | available, because if_nametoindex() requires them. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c, include/ruby/win32.h (getipaddrs): [experimental]usa2013-05-131-3/+83
| | | | | | | | | | | | | | | emulate getipaddrs(3) on Unix. * win32/Makefile.sub, configure.in (LIBS): need iphlpapi.lib for above function. * include/ruby/win32.h (socketpair): rb_w32_socketpair() doesn't substitute for any function, so use non-prefixed name. * ext/socket/extconf.rb (socketpair); follow above change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in: removes AC_CHECK_FUNC(fseeko, fseeko64, ftello,kosaki2013-05-121-32/+0
| | | | | | | | | | | | ftello64). They are not used from anywhere. * win32/win32.c (fseeko): removes. * win32/win32.c (rb_w32_ftello): removes. * include/ruby/win32.h: removes declarations of rb_w32_ftello and rb_w32_fseeko. * win32/Makefile.sub: removes '#define HAVE_FTELLO 1'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: fix build errornobu2013-05-031-0/+4
| | | | | | * win32/win32.c (poll_child_status): fix build error on older mingw. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: optimizationnobu2013-05-031-3/+2
| | | | | | * win32/win32.c (poll_child_status): trivial optimization. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (poll_child_status): constified.usa2013-05-021-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_process.rb (TestProcess#test_no_curdir): maybe nowusa2013-05-021-0/+1
| | | | | | | | | | we can test it. * test/ruby/test_thread.rb (TestThread#test_thread_timer_and_interrupt): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (poll_child_status): [experimental] set the cause ofusa2013-05-021-1/+33
| | | | | | | a child's death to status if its exitcode seems to be an error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: pass through unknown sequencenobu2013-04-031-1/+11
| | | | | | | | * win32/win32.c (constat_apply): pass through unknown sequence which starts with ESC but is not followed by a bracket. [ruby-core:53879] [Bug #8201] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: missing breaknobu2013-04-021-0/+1
| | | | | | * win32/win32.c (constat_attr): fix missing break. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (wrename): use MoveFileExW instead of MoveFileW,usa2013-03-291-10/+1
| | | | | | | | | | because the latter fails on cross device file move of some environments. fix [ruby-core:53492] [Bug #8109] reported by mitchellh (Mitchell Hashimoto) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: fix typenobu2013-02-281-3/+3
| | | | | | | * win32/win32.c (constat_attr): fix type of attributes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: suppress warningnobu2013-02-281-1/+1
| | | | | | | | * win32/win32.c (set_env_val): get rid of intger overflow warning by VC 11. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: suppress warningsnobu2013-02-271-2/+2
| | | | | | | | * win32/win32.c (set_env_val): reuse size of typedef to suppress unused-local-typedefs warnings from gcc 4.8 and reduce same calculation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: stylenobu2013-02-151-1/+2
| | | | | | | * win32/win32.c (rb_w32_fd_is_text): adjust style. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: missing initializationnobu2013-01-231-2/+2
| | | | | | | | * win32/win32.c (rb_w32_spawn, rb_w32_aspawn_flags): fix missing initialization. pointed out by phasis68 (Heesob Park) at [ruby-core:51579]. [Bug #7721] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: acp_to_wstr results checknobu2013-01-231-8/+16
| | | | | | | | * win32/win32.c (rb_w32_spawn, rb_w32_aspawn_flags): check the results of acp_to_wstr() which can return NULL. [ruby-core:51557] [Bug #7721] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/{dir.h,win32.c} (rb_w32_readdir): removed old rb_w32_readdir()usa2012-12-211-9/+2
| | | | | | | | | | and renamed from rb_w32_readdir_with_enc(). [ruby-core:24864] [Feature #1927] * dir.c (READDIR): follow above change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (rb_w32_read): Windows 8 fixed one of a bug of consoleusa2012-11-201-1/+1
| | | | | | | | API. based on the patch by Heesob Park at [ruby-core:49479] [Bug #7379] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (has_redirection): should use shell (cmd.exe) whenusa2012-10-251-0/+1
| | | | | | | | | the commandline containts '&'. reported by Roger Pack at [ruby-core:47912] [Bug #7143], and patched by Heesob Park at [ruby-core:47931]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (check_valid_dir): reject "..." as directory name.usa2012-08-141-1/+8
| | | | | | | [Bug #6851] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Optimize winnt_statshirosaki2012-08-091-16/+38
| | | | | | | | | | | | | | | | | * test/ruby/test_file_exhaustive.rb (TestFileExhaustive#test_stat_special_file): add a test. GetFileAttributesExW fails to get attributes of special files such as pagefile.sys. * win32/win32.c (check_valid_dir): for performance, check the path by FindFirstFileW only if the path containts "..." * win32/win32.c (winnt_stat): use GetFileAttributesExW instead of FindFirstFileW since GetFileAttributesExW is faster. Based on the patch by Dusan D. Majkic. [ruby-core:47083] [Feature #6845] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: rb_w32_inet_ntop should be constnobu2012-07-291-1/+1
| | | | | | | * win32/win32.c (rb_w32_inet_ntop): type should be const. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c: suppress warning redeclaredshirosaki2012-07-281-6/+4
| | | | | | | | * win32/win32.c: suppress warning redeclared on mingw64. *_s functions are declared if MINGW_HAS_SECURE_API is defined. Follow up r36556. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c: fix localtime_r() on x64-mingwshirosaki2012-07-281-3/+14
| | | | | | | | | | | * win32/win32.c (gmtime_r): use _gmtime64_s() with x86_64-w64-mingw32. * win32/win32.c (localtime_r): use _localtime64_s() with x86_64-w64-mingw32. Since FileTimeToSystemTime() seems not work with large value under x64. Mingw-w64 doesn't have these declaration. [ruby-core:46780] [Bug #6794] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (rb_w32_socket, rb_w32_socketpair): remember the familyusa2012-07-241-11/+33
| | | | | | | | | | | | | in the high word of socklist value. * win32/win32.c (overlapped_socket_io, recvmsg, sendmsg, setfl): follow above changes. * win32/win32.c (rb_w32_getsockname): set remembered family to the argument when OS's function fails. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e