aboutsummaryrefslogtreecommitdiffstats
path: root/win32/win32.c
Commit message (Collapse)AuthorAgeFilesLines
* * win32/win32.c (w32_spawn): `v2` is used not only for `shell` but alsousa2014-12-031-1/+1
| | | | | | | | `cmd`, so must not free before using `cmd`. [ruby-core:66648] [Bug #10563] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: use UTF-8 for argvnobu2014-11-291-6/+7
| | | | | | | | | | * ruby.c (ruby_set_argv): convert argv from UTF-8. * win32/win32.c (rb_w32_sysinit, cmdglob, w32_cmdvector): convert wide char command line to UTF-8 argv, and glob in UTF-8 so that metacharacters would match multibyte characters. [ruby-dev:48752] [Bug #10555] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: convert by Win32 APInobu2014-11-291-6/+13
| | | | | | | * win32/win32.c (win32_direct_conv, rb_w32_readdir): convert UTF-8 and filesystem code page by using Win32 API directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: for non-standard consolenobu2014-11-261-1/+1
| | | | | | | * win32/win32.c (constat_reset): do nothing on non-standard console emurators. [ruby-core:66471] [Bug #10546] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (rb_w32_write): should set the error ofusa2014-11-181-1/+1
| | | | | | | | GetOverlappedResult()'s, not WriteFile()'s (it's always ERROR_IO_PENDING, of course). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * rb_w32_fstat{,i64}: speed up. adjuting timestamps in this functionusa2014-11-131-1/+8
| | | | | | | | | is to get rid of the side effect of ENV["TZ"]. then, if ENV["TZ"] is not set, no need to adjust. this change makes File#stat about 60% faster. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: user namenobu2014-11-101-0/+3
| | | | | | | * win32/win32.c (init_env): save USER environment variable in login name if it is set. [ruby-core:66163] [Bug #10493] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (rb_w32_read): retry with reduced length if cannot tousa2014-11-101-0/+7
| | | | | | | write any data but no error occurs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c, include/win32/win32.h (rb_w32_set_nonblock): newusa2014-11-101-1/+43
| | | | | | | | | | | | | | | | | | | | function to support nonblock-mode of pipes. * win32/win32.c (rb_w32_read): nonblock-mode pipe returns ERROR_NO_DATA if there is no data, but also returns it if remote-end is closed. * win32/win32.c (rb_w32_write): if cannot to write any data, it may be blocking. * io.c (rb_io_set_nonblock): use rb_w32_set_nonblock for Windows. * ext/io/nonblock/nonblock.c (rb_io_nonblock_set): use ruby's API when setting nonblock-mode. * test/ruby/test_io.rb: test nonblock pipes on Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: login name encodingnobu2014-11-101-3/+4
| | | | | | | * ext/etc/etc.c (etc_getlogin): set login name encoding properly. [ruby-core:66163] [Bug #10493] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (cmdglob): use inline function.nobu2014-08-231-4/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: manage reverse videonobu2014-08-211-14/+23
| | | | | | | | * win32/win32.c (constat_attr): manage reverse video internally since Windows console window does not manage it. based on the patch by white leaf in [ruby-dev:48483]. [Bug #10158] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/file.c: share functions with win32.cnobu2014-08-091-2/+3
| | | | | | | * win32/file.c (rb_file_expand_path_internal, rb_file_load_ok): use functions defined in win32/win32.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: unused variablenobu2014-06-231-9/+0
| | | | | | * win32/win32.c (envarea): remove no longer used variable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (rb_w32_conv_from_wchar): follow nobu's previous commit.usa2014-06-021-1/+1
| | | | | | | hey nobu, why don't you write Changelog for such serious changes? git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert File::Statfs [Feature #9772]naruse2014-05-221-49/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: fix infinite recursionnobu2014-05-181-0/+4
| | | | | | | * win32/win32.c: include "missing/nextafter.c" and address finite() and isnan() macros, to get rid of infinite recursion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: add linkagenobu2014-04-301-1/+1
| | | | | | * win32/win32.c (ustatfs): need a linkage to get rid of conflict. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: declare for old VCnobu2014-04-301-0/+1
| | | | | | * win32/win32.c (ustatfs): declare GetVolumePathNameW for old VC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c, include/ruby/win32.h (ustatfs): implementation ofusa2014-04-221-0/+48
| | | | | | | | | | | statfs(2) clone. [EXPERIMENTAL] * file.c (rb_io_statfs): use above function. * configure.in, win32/Makefile.sub (struct statfs): available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: CharNextExA with cpnobu2014-04-161-0/+3
| | | | | | | * win32/win32.c (dln_find_1): use CharNextExA() instead of CharNext() to respect the given code page. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: adjust typenobu2014-04-151-1/+1
| | | | | | | * win32/win32.c (NtCmdLineElement): use long instead of int for rb_w32_wstr_to_mbstr. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/win32.h (rb_w32_cmdvector): removed.usa2014-04-151-45/+46
| | | | | | | | | | | | | * win32/win32.c (rb_w32_sysinit): use WCHAR version of GetCommandLine() internally. * win32/win32.c (w32_cmdvector): renamed from rb_w32_cmdvector. use WCHAR* instead of char* internally. these changes are expected to not changing the behavior yet. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: wchar conversionnobu2014-04-051-6/+6
| | | | | | | * win32/win32.c (rb_w32_wstr_to_mbstr, rb_w32_mbstr_to_wstr): make WCHAR/mb conversion functions public. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (rb_w32_accept, open_ifs_socket, socketpair_internal):usa2014-03-301-0/+4
| | | | | | | | | | reset inherit flag of socket to avoid unintentional inheritance of socket. note that the return value of SetHandleInformation() is not verified intentionally because old Windows may return an error. [Bug #9688] [ruby-core:61754] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c: add rb_w32_inet_ptonnobu2014-02-231-0/+13
| | | | | | | | * include/ruby/win32.h, win32/win32.c (rb_w32_inet_pton): add a wrapper function for inet_pton minimum supported client is Vista, as well as inet_ntop. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c: mingw junglenobu2013-12-251-4/+8
| | | | | | | | | | | * configure.in: let mingw do something black-magic, and check if _gmtime64_s() is available actually. * win32/win32.c (gmtime_s, localtime_s): use _gmtime64_s() and _localtime64_s() if available, not depending on very confusing mingw variants macros. based on the patch by phasis68 (Heesob Park) at [ruby-core:58764]. [ruby-core:58391] [Bug #9119] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: rb_w32_dup2nobu2013-11-281-0/+23
| | | | | | | * win32/win32.c (rb_w32_dup2): extract from rb_cloexec_dup2() and redirect_dup2(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: check by module handlesnobu2013-10-171-32/+12
| | | | | | | | | * win32/win32.c (console_emulator_p): check by comparison between module handle of WriteConsoleW and kernel32.dll. * configure.in, win32/Makefile.sub, win32/setup.mak: no longer need psapi.lib. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/setup.mak: check psapi.hnobu2013-10-161-0/+13
| | | | | | | | | * win32/setup.mak (check-psapi.h): check if psapi.h is available. * win32/win32.c (CHECK_CONSOLE_EMULATOR): enable console emulator DLL check only when psapi.h is available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: bail out if no memorynobu2013-10-101-0/+1
| | | | | | | * win32/win32.c (rb_w32_write_console): bail out when buffer allocation failed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: internal functionsnobu2013-10-071-2/+2
| | | | | | | * win32/win32.c (w32_spawn, w32_aspawn_flags): make internal functions static. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: disable console colorizingnobu2013-10-031-2/+40
| | | | | | | | * win32/win32.c (console_emulator_p, constat_handle): disable built-in console colorizing when console-emulator-like DLL is injected. [Feature #8201] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: clock_getresnobu2013-09-061-1/+0
| | | | | | | * win32/win32.c (clock_getres): remove unused variable. [ruby-dev:47699] [Bug #8869] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: clock_getresnobu2013-09-061-0/+29
| | | | | | | * win32/win32.c (clock_getres): required as well as clock_gettime(). [ruby-dev:47699] [Bug #8869] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: suppress warningnobu2013-09-041-2/+2
| | | | | | | * win32/win32.c (do_select): unconstify timeout as select() declares it non-const. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (rb_w32_select_with_thread): rounding up the fraction ofusa2013-09-031-1/+1
| | | | | | | | tv_usec instead of rounding down. this change is an experiment to get rid of failures on vc10-x64 CI. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (do_select): constify timeout.usa2013-09-031-6/+4
| | | | | | | | * win32/win32.c (rb_w32_select_with_thread): constify 10ms wait and 0ms wait structs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/win32.h (CLOCK_MONOTONIC): typo.usa2013-08-191-3/+0
| | | | | | | * win32/win32.c: removed duplicated declarations. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (clock_gettime): improve precision when freq is lessusa2013-08-151-1/+1
| | | | | | | than and nearly equals 10**9. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/win32.h, win32/Makefile.sub, win32/win32.cusa2013-08-151-0/+41
| | | | | | | (clock_gettime): [experimental] emulates clock_gettime(2) of posix. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: fix conversionnobu2013-08-061-1/+1
| | | | | | | | * win32/win32.c (rb_w32_conv_from_wchar): converted string to CP_UTF8 should have UTF-8 encoding. otherwise no conversion takes place later. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: conversion from WCHARnobu2013-08-061-11/+22
| | | | | | | | * win32/win32.c (rb_w32_conv_from_wchar): use WideCharToMultiByte(), as like as mbstr_to_wstr(), in the first step of the convertion from WCHAR. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: supprss warningnobu2013-08-061-2/+2
| | | | | | | * win32/win32.c (rb_w32_system_tmpdir): supprss a sign-compare warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: conversion to WCHARnobu2013-08-051-10/+26
| | | | | | | | * win32/win32.c (rb_w32_write_console): use MultiByteToWideChar() for the last step of conversion to WCHAR, to get rid of warnings from rb_enc_find() in miniruby. [ruby-dev:47584] [Bug #8733] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: fix wrong trimmingnobu2013-08-051-8/+16
| | | | | | | | | * win32/win32.c (wstr_to_mbstr, mbstr_to_wstr): fix wrong trimming. WideCharToMultiByte() and MultiByteToWideChar() do not count NUL-terminator in the size for conversion result, unless the input length is -1. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: use enumnobu2013-07-281-4/+6
| | | | | | | * win32/win32.c (rb_w32_pipe): use enum for compile time constants, instead of const int for debugging. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: fix pipe name formattingnobu2013-07-281-4/+9
| | | | | | | * win32/win32.c (rb_w32_pipe): fix pipe name formatting. as "%x" may not contain '0' at all, fill at fixed position instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 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