Граф коммитов

1324 Коммитов

Автор SHA1 Сообщение Дата
nobu 921bca8969 win32.c: symlink than directory
* win32/win32.c (fileattr_to_unixmode, winnt_lstat): deal with
  symbolic link than directory, and set executable bits.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-30 05:42:44 +00:00
nobu 5dc51d821e file.c: include terminator
* win32/file.c (rb_readlink): include the terminator, since
  rb_w32_mbstr_to_wstr appends a terminator only when the length
  is not given explicitly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-30 05:27:21 +00:00
nobu 2ffb87995a file.c: move rb_readlink on Windows
* win32/file.c (rb_readlink): move from file.c for better buffer
  allocation and the result encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-23 12:22:10 +00:00
nobu c57932f782 win32.c: readlink
* win32/win32.c (wreadlink, rb_w32_ureadlink): implement readlink().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-23 08:36:04 +00:00
nobu d503d6c7ae win32.c: fix DLL name
* win32/win32.c (winnt_stat): fix DLL name to "kernel32".

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-23 06:44:44 +00:00
nobu f5b96e594c win32.c: w32_lstati64
* win32/win32.c (winnt_stat): stat with following symbolic links.
* win32/win32.c (winnt_lstat): rename old winnt_stat, which does
  not follow symbolic links.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-23 05:40:48 +00:00
nobu cfa3ebf47c file.c: check arguments lengths
* win32/file.c (rb_file_expand_path_internal): check arguments
  lengths and should not loose preci quielty.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-22 04:54:35 +00:00
nobu 0109f86871 win32.c: path_drive
* win32/win32.c (path_drive): extract from winnt_stat, return the
  drive number in the path, or the current drive.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-22 02:26:54 +00:00
nobu d26965fcdb win32.c: stat_by_find
* win32/win32.c (stat_by_find): extract from winnt_stat.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-22 02:26:28 +00:00
nobu 8670fc560b win32.c: stati64_handle
* win32/win32.c (stati64_handle): extract from rb_w32_fstati64.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-22 02:23:21 +00:00
nobu c6985abdd1 win32.c: name_for_stat
* win32/win32.c (name_for_stat): extract from rb_w32_stat.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-22 02:23:03 +00:00
nobu 5155a402ab win32.c: S_IFLNK
* win32/win32.c (fileattr_to_unixmode): set symlink for reparse
  points.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-19 02:38:02 +00:00
nobu e2853f5d81 win32.c: no S_IWGRP and S_IWOTH
* win32/win32.c (fileattr_to_unixmode): do not set S_IWGRP and
  S_IWOTH reset in wstati64.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-19 02:37:59 +00:00
nobu 00f7db376c dir.h: direct::d_type
* dir.c (glob_helper): use d_type to reduce lstat system calls.
* win32/dir.h (struct direct): add d_type instead of d_isdir and
  d_isrep.  SYMLINKD is unreliable, since the target can be
  replaced after a link was created.
* win32/win32.c (readdir_internal): set d_type.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-14 03:23:56 +00:00
nobu 5b06e83345 dir.c: glob short names
* dir.c (glob_helper): match patterns against legacy short names
  too, not only ordinary names.  [ruby-core:67954] [Bug #10819]
* win32/dir.h (struct direct): add short name members.
* win32/win32.c (opendir_internal, readdir_internal): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-08 07:57:38 +00:00
nobu db24cb705d miniinit.c: minimum built-in encodings in miniruby
* common.mk (MINIOBJS): no longer need dmyenc.o.

* miniinit.c (Init_enc): declare minimum built-in encodings so
  that these Encoding constants will be available in miniruby.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-08 06:30:32 +00:00
nobu 65f2103b46 Makefile.sub: RUBY_PROGRAM_VERSION
* win32/Makefile.sub (config.status): now RUBY_PROGRAM_VERSION is
  necessary for fake.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-08 02:25:26 +00:00
nobu cdcae92de9 common.mk: same fake.rb
* common.mk (fake.rb): generate from same template on all
  platforms including win32.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-07 02:06:24 +00:00
nobu aa68fd85b9 expand-config.rb: without fake.rb
* win32/Makefile.sub (ruby_pc): without fake.rb.

* tool/expand-config.rb: no longer depends on fake.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-07 02:06:18 +00:00
nobu 6268830ba8 mkconfig.rb: without fake.rb
* tool/mkconfig.rb: use arguments instead of built-in constants
  to work without fake.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-07 02:06:11 +00:00
nobu e9f3a59e85 configure.in: BOOTSTRAPRUBY
* configure.in (BOOTSTRAPRUBY): baseruby if cross compiling or
  miniruby, anyway runnable ruby command.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-07 02:06:06 +00:00
nobu c8141a8158 win32.c: reduce memory size
* win32/win32.c (szInternalCmds): reduce memory size, from 506 on
  32bit and 702 on 64bit to 490 bytes, and remove relocations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-24 04:51:39 +00:00
nobu 556515bf69 Makefile.in: make static IDs symbols local
* Makefile.in (LIBRUBY_SO): make symbols for static IDs which
  begin with ruby_static_id_ local too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-23 07:05:23 +00:00
nobu a75668a202 win32.c: volume serial numbers
* win32/win32.c (different_device_p): compare by volume serial
  numbers, not by path names.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-20 08:19:26 +00:00
nobu 0998c2dd06 win32/file.c: fix drive letter
* win32/file.c (rb_file_expand_path_internal): neither the drive
  of base directory nor the current drive are involved in the
  result if different than the drive of path.
  [ruby-core:68130] [Bug #10858]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-18 16:58:13 +00:00
nobu cc7e5eb7d9 win32.c: EXDEV for directory
* win32/win32.c (wrename): return EXDEV if moving a directory to
  another drive, since MoveFileExW does not set proper error code.
  [ruby-core:68162] [Bug #10865]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-18 01:48:58 +00:00
nobu f7a73f3e8b win32/file.c: fix drive letter
* win32/file.c (rb_file_expand_path_internal): do not make invalid
  (or ADS) path if the path has a drive letter, the result also
  should have be under it.  [ruby-core:68130] [Bug #10858]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-17 01:53:32 +00:00
nobu c73f2d28b4 rmdirs.bat: remove last "."
* win32/rmdirs.bat: remove last "." since rmdir fails to remove it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-22 00:14:40 +00:00
nobu fbbf3afc11 builtin encodings and transcoder locations
* Makefile.in (VPATH, NEWLINE_C), common.mk (common-srcs): make
  and use newline.c under enc/trans directory, not toplevel.  no
  longer search enc directory implicitly.
* configure.in, enc/Makefile.in (BUILTIN_ENCS, BUILTIN_TRANSES):
  prefix respective directory names to builtin encodings and
  transcoder source names.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-18 03:56:52 +00:00
nobu 859f3d14ed never-NULL pointer check
* dir.c (ruby_glob0): no need to check never-NULL pointer.
  reported by Denis Denisov <denji0k AT gmail.com>.
* win32/file.c (rb_file_expand_path_internal): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-26 05:51:36 +00:00
nobu ea9ff28f80 win32: realloc failures
* win32/file.c (code_page_i): handle realloc failure.
  reported by Denis Denisov <denji0k AT gmail.com>.
* win32/stub.c (stub_sysinit): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-26 05:48:12 +00:00
nobu fa13cb050d win32: suppress warnings
* win32/file.c (home_dir, code_page_i): parenthesize to suppress
  warnings.

* win32/win32.c (is_command_com, join_argv, w32_cmdvector, kill),
  (constat_attr_color_reverse, constat_attr): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-24 10:18:35 +00:00
usa 396e3da75d * win32/win32.c (w32_spawn): `v2` is used not only for `shell` but also
`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
2014-12-03 02:16:42 +00:00
nobu 15cfc9553a common.mk: rebuild verconf.h for each configure
* win32/Makefile.sub (verconf.h): so depends on verconf.mk, which
  is rebuilt by setup.mak.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-01 08:20:45 +00:00
nobu 33ea2646b9 win32.c: use UTF-8 for argv
* 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
2014-11-29 07:53:17 +00:00
nobu a35a256bad win32.c: convert by Win32 API
* 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
2014-11-29 01:49:26 +00:00
nobu e5df8e7bb3 common.mk: INITOBJS
* common.mk (INITOBJS): rename DMYEXT.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-27 20:04:48 +00:00
nobu 28ad79fac3 dmyenc.c: separate
* dmyenc.c (Init_enc): separate from dmyext.c for statically
  linked extension excluding encoding libraries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-27 20:02:32 +00:00
nobu 2e7ed8032d win32.c: for non-standard console
* 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
2014-11-26 10:54:35 +00:00
nobu 4ecdc8f545 common.mk: use PWD with nmake
* common.mk (ext/ripper/ripper.c): move MAKEDIR to Makefile.sub.

* win32/Makefile.sub (PWD): set to $(MAKEDIR), nmake built-in macro.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-21 15:58:35 +00:00
usa 539b39af23 * win32/Makefile.sub (top_srcdir): added because lacking this macro causes
build error at r48526.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-21 05:27:07 +00:00
usa 56d8b8701d * win32/win32.c (rb_w32_write): should set the error of
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
2014-11-18 22:46:13 +00:00
usa e9885185c4 * rb_w32_fstat{,i64}: speed up. adjuting timestamps in this function
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
2014-11-13 03:18:00 +00:00
nobu 50ad0f58bb * win32/Makefile.sub (prelude.c): search from source directory,
not depending on VPATH, in parallel to r35135.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-11 10:29:00 +00:00
nobu 0d70c707ae win32.c: user name
* 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
2014-11-10 14:24:53 +00:00
usa 1b0cbb6ae0 * win32/win32.c (rb_w32_read): retry with reduced length if cannot to
write any data but no error occurs.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-10 11:21:42 +00:00
usa fd9f6bde95 * win32/win32.c, include/win32/win32.h (rb_w32_set_nonblock): new
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
2014-11-10 10:42:19 +00:00
nobu 6ccf3d68c2 win32.c: login name encoding
* 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
2014-11-10 08:24:36 +00:00
nobu 1cede1dab2 reaply r48278
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-06 10:53:04 +00:00
naruse 8d00496911 Revert r48278 "common.mk: update unicode data only if BASERUBY is available"
Moreover its error "make[1]: *** No rule to make target
`lib/unicode_normalize/tables.rb', needed by `srcs-lib'.  Stop." is not
a good error message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-06 05:46:43 +00:00
nobu ef8139db13 common.mk: update unicode data only if BASERUBY is available
* common.mk (lib/unicode_normalize/tables.rb): do nothing unless
  BASERUBY is available.  MINIRUBY cannot load extension libraries,
  so cannot update Unicode data.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-05 05:11:33 +00:00
usa a12ca2113d * win32/setup.mak: $(APPEND) with some arguments insert a space before
the arguments, so it causes error if the arguments are expected to be
  a macro definition.  this fix resolve the build error introduced at
  r48210.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-31 08:25:07 +00:00
nobu 74ec76990a win32/setup.mak: get target architecture from the compiler
* win32/Makefile.sub, win32/setup.mak (MACHINE): get target
  architecture from the compiler, instead of environment variable
  at build time, which is irrelevant to runtime environment, and
  not set when running in cygwin sshd.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-31 08:07:50 +00:00
nobu 42ca978656 common.mk: UNICODE_FILES
* common.mk (UNICODE_FILES): revert the rule that Unicode data
  files depend on downloader target, and add missing dependency of
  lib/unicode_normalize/tables.rb

* common.mk (after-configure): removed as srcdir should be
  read-only after update.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21 13:48:16 +00:00
nobu 4ae67d876a common.mk: after-configure
* common.mk (after-configure): update Unicode files after
  configure run.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21 05:17:32 +00:00
nobu c88c049ed1 mkmf.rb: translate to assembler
* lib/mkmf.rb (create_makefile): add rules to translate to
  assembler sources.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-08 01:38:32 +00:00
nobu edae1c7200 win32/file.c: fix no user exception
* win32/file.c (append_wstr): set expanded length, not length of
  appended string.  fix "probable buffer overflow" bug.
  [ruby-core:65317] [Bug #10304]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-29 13:54:50 +00:00
nobu 3558e886bd Makefile.sub: fix typo
* win32/Makefile.sub: fix typo, replace "ekse" with "else".

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-19 07:04:35 +00:00
usa 2aa9658730 * win32/win32.c (VCSUP): nothing to do if this worktree is not under
any VCS (it means that the worktree may be from the release package).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-19 06:49:56 +00:00
nobu ccbeb0d6dc * win32/win32.c (cmdglob): use inline function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-23 13:32:32 +00:00
nobu 43b00d8a11 win32.c: manage reverse video
* 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
2014-08-21 08:10:34 +00:00
nobu 8f0543a364 win32/file.c: direct conversion
* win32/file.c (user_length_in_path): count user name length in
  path.

* win32/file.c (append_wstr): append WCHAR string to Ruby string
  directly without an intermediate buffer, if possible.

* win32/file.c (rb_file_expand_path_internal): use above functions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-09 11:50:13 +00:00
nobu b136c5cd48 win32/file.c: share functions with win32.c
* 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
2014-08-09 10:10:11 +00:00
nobu 5b0ccdbc67 win32/configure.bat: revert a commit by accident
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-31 06:23:53 +00:00
svn 4a2cf2fea4 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-31 05:52:30 +00:00
nobu 7a8836bd7b * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-31 05:52:17 +00:00
nobu 1fe71722e2 Makefile.sub: no PACKED_STRUCT on old VC
* win32/Makefile.sub (PACKED_STRUCT): __pragma extension is
  available since VC9.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-21 12:13:07 +00:00
nobu 031e1570b9 Makefile.sub: no oldnames.lib
* win32/Makefile.sub (LIBS): oldnames.lib is not used already.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-14 11:50:43 +00:00
nobu 8a29da3b76 win32/configure.bat: check directory
* win32/configure.bat: bail out if run in win32 directory.
  [ruby-core:63648] [Bug #10027]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-12 14:49:46 +00:00
nobu b1f4bf8aa2 common.mk: integrate clean targets
* common.mk (clean-rdoc, clean-capi, clean-platform): integrate
  from Makefile.in and win32/Makefile.sub.

* win32/Makefile.sub (RMALL): now use rm.bat instead of rmall.bat
  which does not handle any options and convert slashes.

* win32/rmall.bat: no longer used.  use rm.bat with -r instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-07 07:08:06 +00:00
nobu 86689e037f common.mk: empty by distclean
* common.mk (clean-runnable): remove files made by mkrunnable.

* common.mk (clean-extout): remove archir too.

* common.mk (clean-ext): remove timestamp directory

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-05 07:02:39 +00:00
nobu 8eedcaa6b5 common.mk: move DEFAULT_PRELUDES
* common.mk (DEFAULT_PRELUDES): no longer configurable since
  r43278, move from Makefile.in and win32/Makefile.sub.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-04 17:32:51 +00:00
nobu c2b0992156 configure.in: fix static-linked-ext
* configure.in (--with-static-linked-ext): fix for extensions to
  be linked statically.
* Makefile.in, common.mk: use ENCSTATIC for enc directory.
* ext/extmk.rb: supply dependencies of statically linked extension
  libraries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-03 03:40:24 +00:00
nobu 4a26246beb win32.c: unused variable
* 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
2014-06-23 22:16:19 +00:00
nobu 0eb892e103 win32/setup.mak: rename RUBY_RELEASE_DATE
* win32/setup.mak (verconf.mk): rename RUBY_PROGRAM_VERSION as
  RUBY_RELEASE_DATE, same as other platforms.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-10 08:30:10 +00:00
nobu 2e2ccab110 win32/setup.mak: separate verconf.mk
* win32/setup.mak (verconf.mk): separate RUBY_RELEASE_DATE from
  Makefile so that build would not stop everyday.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-10 08:30:01 +00:00
usa 25e8bfce58 * win32/win32.c (rb_w32_conv_from_wchar): follow nobu's previous commit.
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
2014-06-02 22:35:17 +00:00
nobu fba33accdb win32/Makefile.sub: copy enc/jis/props.h
* win32/Makefile.sub (enc/jis/props.h): nmake needs special rule
  to copy from the source directory, because it can't handle VPATH.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-26 04:03:52 +00:00
naruse 210f863906 revert File::Statfs [Feature #9772]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-22 10:39:48 +00:00
nobu 3360dfd294 win32.c: fix infinite recursion
* 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
2014-05-18 13:20:39 +00:00
nobu d7df70c08f Makefile.sub: fix nextafter
* win32/Makefile.sub (MISSING, CONFIG_H): msvcr120.dll provides
  nextafter() as well as other mathematic functions.  finite() and
  isnan() used in missing/nextafter.c are not by older runtimes.
  [Feature #9834]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18 05:46:36 +00:00
akr 16169ff9e3 * win32/Makefile.sub: Add nextafter.obj to MISSING.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18 02:10:01 +00:00
nobu f7397d988a win32.c: add linkage
* 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
2014-04-30 16:45:32 +00:00
nobu d681a6247b win32.c: declare for old VC
* 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
2014-04-30 16:07:02 +00:00
nobu c5fef27312 file.c: unpack in binary
* file.c (statfs_fsid): convert with rb_integer_unpack.

* configure.in: fsid_t is no longer used.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-23 04:31:09 +00:00
usa 6f477bcc0e * configure.in, win32/Makefile.sub: fsid_t is defined in include/ruby/win32.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-23 02:47:07 +00:00
usa 86dc863bd8 * win32/win32.c, include/ruby/win32.h (ustatfs): implementation of
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
2014-04-22 15:45:00 +00:00
nobu 9f4f9048a0 win32.c: CharNextExA with cp
* 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
2014-04-16 02:46:53 +00:00
nobu 7d66f95523 win32.c: adjust type
* 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
2014-04-15 16:23:07 +00:00
usa 1242292de9 * include/ruby/win32.h (rb_w32_cmdvector): removed.
* 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
2014-04-15 10:39:36 +00:00
akr db9d8759ee * common.mk: Unused target, $(MKMAIN_CMD), removed.
* Makefile.in (MKMAIN_CMD): Unused macro removed.

* win32/Makefile.sub (MKMAIN_CMD): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-13 01:21:39 +00:00
nobu ac4e60bfb2 win32.c: wchar conversion
* 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
2014-04-05 23:51:27 +00:00
usa 38c3ba2fa5 * win32/win32.c (rb_w32_accept, open_ifs_socket, socketpair_internal):
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
2014-03-30 14:42:52 +00:00
nobu df9199d468 configure.in, win32/Makefile.sub: PACKED_STRUCT with VC
* configure.in (PACKED_STRUCT): check VC pragma too, and make
  function-style macro.

* win32/Makefile.sub (PACKED_STRUCT): enable with VC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-25 07:00:10 +00:00
naruse 3d3711efd3 * win32/Makefile.sub: define PACKED_STRUCT.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-25 03:07:06 +00:00
nobu 1b81dafdd5 win32/win32.c: add rb_w32_inet_pton
* 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
2014-02-23 02:54:04 +00:00
arton 2cdee22370 remove HAVE_FSEEKO from win32/win32.c
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-31 13:12:23 +00:00
nobu bb4a1ac9b0 expand-config.rb: expand config values
* tool/expand-config.rb: expand config values, extracted from
  win32/Makefile.sub.

* win32/Makefile.sub (ruby_pc): use tool/expand-config.rb script.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-27 05:46:10 +00:00
usa cdf80f030d * win32/{setup.mak,Makefile.sub}: update fake.rb like
template/fake.rb.in.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-27 04:25:47 +00:00
usa c283ebb2d2 * win32/Makefile.sub (fake.rb): should depend on version.h because
if RUBY_VERSION is updated, fake.rb need to say the new version
  to avoid install error in rbconfig.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-26 07:11:51 +00:00
nobu 58a7cdaaf0 win32/win32.c: mingw jungle
* 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
2013-12-25 04:00:59 +00:00
usa 7ff4413eab * win32/Makefile.sub (fake.rb): fixed wrong RUBY_PLATFORM, to correctly
install win32.h.
  [ruby-core:58801][Bug #9199] reported by arton.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-20 20:05:30 +00:00
nobu 21f81885ab win32.c: rb_w32_dup2
* 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
2013-11-28 07:15:56 +00:00
nobu 28849ce257 ext/rbconfig/sizeof: move to an extension library
* common.mk, ext/rbconfig/sizeof: move RbConfig::SIZEOF to an
  extension library to get rid of annoying nmake VPATH rule.

* inits.c (rb_call_inits), miniinit.c (Init_sizes): RbConfig::SIZEOF
  is no loger built-in.

* template/sizes.c.tmpl (Init_sizeof): rename initialization function.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18 14:19:16 +00:00
nobu bcfb4569aa ifchange: no overwrite with an empty file
* tool/ifchange, win32/ifchange.bat: do not overwrite with an empty
  file by default, and add --empty option to force it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-03 12:40:24 +00:00
nobu bfea5bc277 Makefile.sub: add missing config variables
* win32/Makefile.sub (config.status): add missing variables,
  PLATFORM_DIR and THREAD_MODEL.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-30 03:44:30 +00:00
nobu 5ef68ab22d Makefile.sub: fix typo
* win32/Makefile.sub (MISSING): fix typo, missing extention.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-24 18:19:33 +00:00
nobu 33945edf39 Makefile.sub: C99 mathematics functions
* win32/Makefile.sub (config.h): fix version number of runtime
  library.  log2 needs to be defined, not only HAVE_LOG2.
  [ruby-core:57992] [Bug #9044]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23 16:34:17 +00:00
nobu dd2979b3dd Makefile.sub: C99 mathematics functions
* win32/Makefile.sub (config.h): VC 2013 supports C99 mathematics
  functions.  [ruby-core:57981] [Bug #9044]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23 13:51:05 +00:00
nobu cb4b55d3d8 win32/file.c: code page table
* win32/file.c (code_page): use simple array instead of st_table.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-19 10:59:06 +00:00
nobu eeb3156eca encoding.c: defer code page table
* encoding.c (rb_locale_encindex): defer initialization of win32 code
  page table until encoding db loaded.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-19 10:55:39 +00:00
nobu d66c5768ca win32.c: check by module handles
* 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
2013-10-17 08:11:21 +00:00
nobu 36862468a8 file.c: fix memory leak
* win32/file.c (rb_file_expand_path_internal): fix memory leaks at
  a non-absolute home exception.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-17 05:21:38 +00:00
nobu 209376034f * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-17 02:57:44 +00:00
nobu b62bfa2a66 Makefile.sub: fix typo
* win32/Makefile.sub (HAVE_PSAPI_H): fix typo.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-16 23:36:15 +00:00
nobu 50b0f0eb1b Makefile.sub: default HAVE_PSAPI_H to 0
* win32/Makefile.sub (HAVE_PSAPI_H): default to 0.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-16 23:12:02 +00:00
nobu d7144025fd ifchange.bat: --keep option
* win32/ifchange.bat: add --keep option as well as tool/ifchange.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-16 14:39:53 +00:00
nobu a8c6a52a1a win32/setup.mak: check psapi.h
* 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
2013-10-16 13:50:29 +00:00
nobu 111327c535 Makefile.sub: skip timezone tests
* win32/Makefile.sub (TZ): empty to skip timezone tests which are not
  supported on Windows.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-15 07:33:59 +00:00
nobu 8e385d6778 Makefile.sub: gem_prelude to load rubygems
* win32/Makefile.sub (DEFAULT_PRELUDES): always use gem_prelude
  regardless of --disable-rubygems.  follow up r43278.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-14 08:00:22 +00:00
nobu d63f9e933c win32.c: bail out if no memory
* 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
2013-10-10 06:33:38 +00:00
nobu 3bb86ae462 cont.c: split conditions
* cont.c (FIBER_USE_NATIVE): split long conditions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 13:45:31 +00:00
nobu 4549879579 configure.in: move FIBER_USE_NATIVE conditions
* configure.in, win32/Makefile.sub (FIBER_USE_NATIVE): move conditions
  from cont.c

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 12:03:58 +00:00
nobu 6531e12e0b win32/file.c: make mapping at initialization
* win32/file.c (code_page_i, rb_w32_init_file): make encoding to code
  page mapping at initialization directly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 07:20:59 +00:00
nobu 98e4a412e4 win32/file.c: use encoding index
* win32/file.c (code_page): use encoding index, which is primary
  entity, instead of encoding name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 06:50:18 +00:00
nobu 6d07beb4c1 win32/file.c: using st_table
* win32/file.c (code_page): cache using st_table, not RHash.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 06:28:11 +00:00
nobu 1c7b42e2bc win32/file.c: check ASCII encodings first
* win32/file.c (code_page): check US-ASCII and ASCII-8bit before
  ordinary mapping.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 06:09:01 +00:00
nobu 72db853bb8 win32.c: internal functions
* 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
2013-10-07 05:03:29 +00:00
nobu 886e3bb1df win32.c: disable console colorizing
* 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
2013-10-03 09:20:51 +00:00
nobu c95d5b250d common.mk, win32/Makefile.sub: refix sizez.c for nmake
* common.mk (sizes.c): revert r42854 and r42883.

* win32/Makefile.sub (sizes.c): rule for outplace build.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-08 03:54:41 +00:00
nobu 59baeaf10f win32.c: clock_getres
* 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
2013-09-06 05:36:23 +00:00
nobu f245f0c664 win32.c: clock_getres
* 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
2013-09-06 05:23:28 +00:00
nobu 88270e7773 win32.c: suppress warning
* 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
2013-09-04 14:41:38 +00:00
usa 736f97b278 * win32/win32.c (rb_w32_select_with_thread): rounding up the fraction of
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
2013-09-03 02:28:14 +00:00
usa 61ce3f5744 * win32/win32.c (do_select): constify timeout.
* 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
2013-09-03 02:02:05 +00:00
nobu ec02633065 Makefile.sub: SIZEOF_CLOCK_T
* win32/Makefile.sub (config.h): now SIZEOF_CLOCK_T is needed for
  unsigned_clock_t.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-23 02:07:20 +00:00
usa 5a096eddb3 * include/ruby/win32.h (CLOCK_MONOTONIC): typo.
* win32/win32.c: removed duplicated declarations.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-19 04:29:41 +00:00
usa f653019d55 * win32/win32.c (clock_gettime): improve precision when freq is less
than and nearly equals 10**9.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-15 09:41:40 +00:00
usa 866cee6162 * include/ruby/win32.h, win32/Makefile.sub, win32/win32.c
(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
2013-08-15 05:32:02 +00:00
nobu b0391268a2 win32.c: fix conversion
* 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
2013-08-06 08:42:25 +00:00
nobu 8ea8dfd88c win32.c: conversion from WCHAR
* 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
2013-08-06 08:02:20 +00:00
nobu 42bd951087 win32.c: supprss warning
* 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
2013-08-06 05:12:48 +00:00
nobu 8d564597fa win32.c: conversion to WCHAR
* 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
2013-08-05 08:38:39 +00:00
nobu 0f6cd1bb10 win32.c: fix wrong trimming
* 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
2013-08-05 08:33:22 +00:00
nobu da8406f0ac win32.c: use enum
* 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
2013-07-28 21:54:34 +00:00
nobu 56150eba92 win32.c: fix pipe name formatting
* 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
2013-07-28 01:54:30 +00:00
nobu 48443714b7 win32/file.c: suppress warning
* win32/file.c (convert_mb_to_wchar): omit never-true NULL check to
  suppress maybe-uninitialized warning in rb_file_load_ok().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-26 08:50:33 +00:00
nobu c4c78f758f win32/file.c: fix target encoding
* win32/file.c (fix_string_encoding): fix target encoding.  the
  parameter `encoding' is not the target encoding but the original
  encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-26 08:49:31 +00:00
nobu e9b8488fe5 win32/file.c: adjust indent
* win32/file.c (get_user_from_path): adjust indent.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-26 06:43:33 +00:00
nobu 8948280c67 load.c: search in OS path encoding
* load.c (rb_load_internal): use rb_load_file_str() to keep path
  encoding.
* load.c (rb_require_safe): search in OS path encoding for Windows.
* ruby.c (rb_load_file_str): load file with keeping path encoding.
* win32/file.c (rb_file_load_ok): use WCHAR type API assuming incoming
  path is encoded in UTF-8.  [ruby-core:56136] [Bug #8676]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-26 04:04:23 +00:00
nobu 320a0dd218 win32/file.c: refine fix_string_encoding
* win32/file.c (fix_string_encoding): simplify with rb_str_conv_enc().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-26 04:01:07 +00:00
nobu 45fbfd0a81 win32/file.c: refine convert_mb_to_wchar
* win32/file.c (convert_mb_to_wchar): use bare pointer instead of
  VALUE, and remove useless argument.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-26 04:00:28 +00:00
nobu 3c9e6f1e62 win32.c: fix infinite recursion
* 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
2013-07-11 12:30:24 +00:00
nobu f9e1c078ba win32.c: suppress warnings
* 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
2013-07-08 14:23:24 +00:00
nobu 3d7fa44b05 win32.c: for strict ANSI
* 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
2013-07-08 14:13:13 +00:00
nobu 444f08f661 win32: for strict ANSI
* 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
2013-07-08 14:12:26 +00:00
usa 5716c5ef2c * win32/win32.c (w32_spawn): r41710 made that if the command starts with
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
2013-07-05 02:12:55 +00:00
nobu 5197f451de win32.c: use backslash
* 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
2013-06-30 01:59:25 +00:00
nobu 8d2ce0fb1f win32.c: codepage awareness
* 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
2013-06-30 01:59:16 +00:00
nobu b64f79c838 win32.c: rb_w32_udln_find_exe_r,
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
2013-06-30 01:59:12 +00:00
nobu dc0b06aa38 win32.c: UTF-8 spawn
* 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
2013-06-30 01:59:07 +00:00
nobu 64d39448d3 win32.c: UTF-8 aspawn
* 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
2013-06-30 01:59:03 +00:00
nobu a65261c2c1 win32.c: w32_getenv
* 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
2013-06-30 01:58:59 +00:00
nobu cc3ec30ac9 win32.c: w32_stati64
* 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
2013-06-30 01:58:55 +00:00
nobu 2f787c4eed * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-23 17:46:05 +00:00
zzak 94a324aa6b * win32/README.win32: grammar typo by @blankenshipz [Fix GH-334]
https://github.com/ruby/ruby/pull/334


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-23 17:43:10 +00:00
nobu 3cef99564b Makefile.sub: timestamp
* win32/Makefile.sub (CONFIG_H): touch timestamp target file.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-21 00:52:33 +00:00
nobu 206b28ca15 win32.c: GetLastError once
* 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
2013-06-19 18:08:30 +00:00
nobu 7ce9f9c25a win32.c: no error after retry
* 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
2013-06-19 18:08:28 +00:00
nobu 4c25e2fb8b win32.c: wait until exit
* 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
2013-06-19 17:44:47 +00:00
naruse 4ff3b7cf05 Revert r41179 "partially revert r41163 because r41173 didn't fix failure"
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
2013-06-08 16:49:49 +00:00
naruse e431c67ea7 partially revert r41163 because r41173 didn't fix failure
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
2013-06-08 13:00:42 +00:00
naruse 1ba82b765c * win32/Makefile.sub: r41163 changed win32/win32.c and configure.in
but it didn't treat about mswin32/mswin64, so fix it.
  NOTE: this needs a review by usa whether additional condition is
  required or not.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-08 10:26:36 +00:00
nobu 5713c59531 win32.c: NET_LUID
* 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
2013-06-08 05:17:04 +00:00
naruse 6e4cfd9475 * win32/win32.c (NET_LUID): define it on MinGW32.
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
2013-06-05 15:32:28 +00:00
nobu a815b56d84 win32.c: check error of SetFilePointer
* 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
2013-05-22 06:19:03 +00:00
nobu 38302ca719 win32.c: extract setup_overlapped and finish_overlapped
* 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
2013-05-22 06:17:33 +00:00
ktsj edb98f8b91 fix typos. Patch by k_takata.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-19 03:10:21 +00:00
nobu 67f562a417 Makefile.in: loadpath from loadpath.c
* Makefile.in (loadpath): $LOAD_PATH in miniruby is empty by default
  now.

* win32/Makefile.sub (loadpath): separate for quirky cmd.exe syntax.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-16 07:54:04 +00:00
nobu 87e352c5a3 win32/Makefile.sub: fix verconf
* win32/Makefile.sub (verconf.in): no longer used.
* win32/Makefile.sub (config.status): fix typo.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-16 07:20:00 +00:00
nobu fa827c8b5a common.mk, Makefile.sub: fix build failure on mswin
* common.mk (verconf.h): $< cannot be used in explicit rules with
  nmake.
* win32/Makefile.sub (CONFIG_H): create verconf.in instead of
  verconf.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 16:44:55 +00:00
nobu cd9165458b iphlpapi is unavailable with older VC
* 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
2013-05-14 08:24:58 +00:00
usa 77753bd9ec * win32/win32.c (NET_LUID): mingw may have NET_LUID and not defined
_IFDEF_.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14 03:22:06 +00:00
usa dd4687313c * win32/win32.c (getipaddrs): use alternamtive interface name if
available, because if_nametoindex() requires them.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 12:21:53 +00:00
usa cb3fcdcdc3 * win32/win32.c, include/ruby/win32.h (getipaddrs): [experimental]
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
2013-05-13 11:29:32 +00:00
ko1 83aba04862 * include/ruby/ruby.h: constify RBasic::klass and add
RBASIC_CLASS(obj) macro which returns a class of `obj'.
  This change is a part of RGENGC branch [ruby-trunk - Feature #8339].
* object.c: add new function rb_obj_reveal().
  This function reveal interal (hidden) object by rb_obj_hide().
  Note that do not change class before and after hiding.
  Only permitted example is:
  klass = RBASIC_CLASS(obj);
  rb_obj_hide(obj);
  ....
  rb_obj_reveal(obj, klass);
  TODO: API design. rb_obj_reveal() should be replaced with others.
  TODO: modify constified variables using cast may be harmful for
  compiler's analysis and optimizaton.
  Any idea to prohibt inserting RBasic::klass directly?
  If rename RBasic::klass and force to use RBASIC_CLASS(obj),
  then all codes such as `RBASIC(obj)->klass' will be
  compilation error. Is it acceptable? (We have similar
  experience at Ruby 1.9,
  for example "RARRAY(ary)->ptr" to "RARRAY_PTR(ary)".
* internal.h: add some macros.
* RBASIC_CLEAR_CLASS(obj) clear RBasic::klass to make it internal
  object.
* RBASIC_SET_CLASS(obj, cls) set RBasic::klass.
* RBASIC_SET_CLASS_RAW(obj, cls) same as RBASIC_SET_CLASS
  without write barrier (planned).
* RCLASS_SET_SUPER(a, b) set super class of a.
* array.c, class.c, compile.c, encoding.c, enum.c, error.c, eval.c,
  file.c, gc.c, hash.c, io.c, iseq.c, marshal.c, object.c,
  parse.y, proc.c, process.c, random.c, ruby.c, sprintf.c,
  string.c, thread.c, transcode.c, vm.c, vm_eval.c, win32/file.c:
  Use above macros and functions to access RBasic::klass.
* ext/coverage/coverage.c, ext/readline/readline.c,
  ext/socket/ancdata.c, ext/socket/init.c,
* ext/zlib/zlib.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 10:49:11 +00:00
kosaki 93d061a8fd * process.c: move '#define SPAWNV 1' to win32/Makefile.sub.
* win32/Makefile.sub: see above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:42:19 +00:00
kosaki e79f790798 * configure.in: removes AC_CHECK_FUNC(fseeko, fseeko64, ftello,
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
2013-05-12 08:41:12 +00:00
nobu 6d32a4e32b win32.c: fix build error
* 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
2013-05-03 04:22:24 +00:00
nobu c61af20411 win32.c: optimization
* 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
2013-05-03 04:22:20 +00:00
usa 30afde959b * win32/win32.c (poll_child_status): constified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 03:35:37 +00:00
usa 50cc7057af * test/ruby/test_process.rb (TestProcess#test_no_curdir): maybe now
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
2013-05-02 03:34:15 +00:00
usa 25acda257c * win32/win32.c (poll_child_status): [experimental] set the cause of
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
2013-05-02 02:34:11 +00:00
nobu 93f8341792 configure.bat: remove stale message
* win32/configure.bat (help): remove stale message.  win95 support had
  been thrown away long ago.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-01 03:03:58 +00:00
nobu 111f4a8fe5 win32.c: pass through unknown sequence
* 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
2013-04-03 08:11:24 +00:00
nobu ff9c262f6c win32.c: missing break
* 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
2013-04-02 14:58:06 +00:00
nobu 8825a084eb win32/configure.bat: option arguments
* win32/configure.bat: try to fix option arguments split by commas and
  equals here.  this batch file no longer run with old command.com.
* tool/mkconfig.rb: no hacks for cmd.exe.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-31 06:40:37 +00:00
usa b7d708c3f1 * win32/file.c (code_page): use cp1252 instead of cp20127 as US-ASCII.
fix [ruby-core:53079] [Bug #7996]
  reported and patched by mmeltner (Michael Meltner).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-29 19:00:05 +00:00
usa 35cc29c872 * win32/win32.c (wrename): use MoveFileExW instead of MoveFileW,
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
2013-03-29 18:52:51 +00:00
nobu 2418b20897 Makefile.sub: configurations
* win32/Makefile.sub (prog): needs to update configurations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-29 12:02:16 +00:00