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

1565 Коммитов

Автор SHA1 Сообщение Дата
k0kubun 0af44e7261 common.mk: install a single header file for JIT
compilation which is created by transforming a preprocessed vm.c.
This file will be used by JIT compiler's generated code which we are
going to have from succeeding commits.

Makefile.in: generate MJIT header for UNIX environments.
win32/Makefile.sub: generate MJIT header for mswin environments.
At initial merge, we're going to support only MinGW for Windows. So the
header installed by this file won't be used for short term, but we'll
add mswin support in a half year or so, for sure.

tool/transform_mjit_header.rb: New. This script was originally written as
minimize_mjit_header.rb by Vladimir N. Makarov <vmakarov@redhat.com> for
Feature 12589.
Then I refactored a little so that it can conform CodeClimate CI which is
currently set for Ruby's GitHub repository, and fixed some bugs and ported
it to work on Windows.

Also, as original minimize_mjit_header.rb takes too long time to run,
this is modified to skip minimization step because having *static*
unused definitions does not waste compilation time on -O2 since compiler
can skip to compile unused static functions. So this does no longer
"minimize" the header and is renamed.

This header installation does NOT include a header to automatically
export symbols used by MJIT. That's because original MJIT code was
failing to export symbols in the import header in macOS environment.
But I would like to have the functionality for maintainability in the
future. I'll manually export things but it would be just an intemediate
solution.

Patch by: Vladimir N. Makarov <vmakarov@redhat.com>
Part of: Feature 12589 and 14235.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-04 05:49:21 +00:00
nobu 044e6f12be win32.c: EPIPE for ERROR_NO_DATA
* win32/win32.c (rb_w32_write): writing to closed pipe fails with
  ERROR_NO_DATA but msvcrt maps it to EINVAL.  map it to EPIPE.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-01 02:56:28 +00:00
nobu 51fdac39eb setup.mak: discard BASERUBY output
* win32/setup.mak: discard output from BASERUBY command, even if
  it contains multiple commands.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-30 11:12:21 +00:00
k0kubun d678c274aa win32/Makefile.sub: fix typo
Other places are using RT_VER. So I guess this is correct.
Currently AppVeyor CI is failing and I want to fix that.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-27 01:28:21 +00:00
usa d2bd7d7b98 need to declare the prototype of nan() if missing
* include/ruby/missing.h (nan): need to declare the prototype of nan() if
  missing.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-26 16:38:38 +00:00
nobu 645e441c32 Makefile.sub: missing/nan.obj
* win32/Makefile.sub (MISSING): nan() is available since msvcrr120.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-20 06:49:30 +00:00
hsbt 2701001b2f Fix a typo.
* win32/win32.c: wrok -> work

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-15 10:09:00 +00:00
shyouhei 21429b1488 __alignof__ to take alignment of a type
C11 and C++11 has this feature so why not use it when available.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-15 02:35:17 +00:00
shyouhei f089a52865 __attibute__((__aligned__)) for RSTRING_PTR()
For instance array.c:rb_ary_product() uses RSTRING_PTR() as an
array of int. So to avoid misaligned memory access RSTRING_PTR()
must at least be sizeof(int)-aligned.  However the type of
RSTRING_PTR() is char*, which of course can expect alignment as
much as 1.  This is a problem.

The reality is, there is no misaligned memory access because the
memory region behind RSTRING_PTR() is allocated using malloc().
Memory regions returned from malloc() are always aligned
appropriately.  So let's tell the compiler about this information.
It seems GCC, clang, and MSVC have such feature.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-15 02:35:16 +00:00
shyouhei f6ea376317 delete tool/instruction.rb (2nd try)
Previous commit changed insns.def format. Now is the time for its
generators. In doing so I chose to modernize the system, not just
patch.  My attempt includes

- extensive use of Onigumo regular expressions
- split from one big file (instruction.rb) into separated MVC
- partial view

Also, let me take this opportunity to kill old unused features
such as

- stack caching
- minsns / yasmdata which are never seriously used
- yarvarch document generation (moved to doc/)
- vast majority of unused arguments to insns2vm.rb

This commit generates VM source codes that cleanly compile, and
the generated binary passes tests.  At least for me.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-12 08:38:09 +00:00
shyouhei 5ad95486e6 merge revisions 61753:61750 61747:61740 61737:61728
Revert all the VM generator rewrites; requested by naruse


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10 01:53:24 +00:00
shyouhei 55317a74f7 delete tool/instruction.rb
Previous commit changed insns.def format. Now is the time for its
generators. In doing so I chose to modernize the system, not just
patch.  My attempt includes

- extensive use of Onigumo regular expressions
- split from one big file (instruction.rb) into separated MVC
- partial view

Also, let me take this opportunity to kill old unused features
such as

- stack caching
- minsns / yasmdata which are never seriously used
- yarvarch document generation (moved to doc/)
- vast majority of unused arguments to insns2vm.rb

This commit generates VM source codes that cleanly compile, and
the generated binary passes tests.  At least for me.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09 13:30:31 +00:00
nobu ee85a6e72b internal.h: remove dependecy on ruby/io.h
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09 06:24:10 +00:00
usa 1dcdb86876 set ino at `File.lstat` on Windows
* win32/win32.c (winnt_stat): support symbolic link and others.

* win32/win32.c (w32_stati128, wstati128, name_for_stat, rb_w32_{,ul}stati128,
  wutimensat): follow above change.
  [Feature #14169]

  From: Takehiro Kubo kubo@jiubao.org


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-12 15:02:51 +00:00
usa 838f23ae34 remove unused variable
thanks kubo-san. c.f. [ruby-dev:50345]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-12 11:43:18 +00:00
usa 9e9498c227 fixed typo
* win32/win32.c (get_ino): forgotten to specify the member.  thanks kubo-san.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-11 17:31:43 +00:00
usa 91de3d6539 support 128bit ino on Windows (if available)
* win32/win32.c, include/ruby/win32.h (stati128, rb_{,u,l,ul}stati128): rename
  from stati64ns, change the type of st_ino to 64bit and added st_inohigh.

* dir.c, file.c (stat, lstat): follow above changes.

* file.c (rb_stat_ino): support 128bit ino.

* win32/win32.c (rb_{,u,l,ul}stati128): ditto.
  [Feature #13731]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-10 17:26:58 +00:00
nobu 23c86d84e6 win32.c: check error code
* win32/win32.c (w32_io_info): check GetFileInformationByHandleEx
  error code to fallback to GetFileInformationByHandle.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-08 06:20:06 +00:00
nobu 284e3ae137 win32/win32.c: removed a stale comment
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-07 04:42:16 +00:00
nobu 185133fd43 win32.c: fallback to old API
* win32/win32.c (w32_io_info, rb_w32_file_identical_p): fallback
  to GetFileInformationByHandle if GetFileInformationByHandleEx
  failed.  it seems not working on network drives.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-07 04:03:44 +00:00
nobu 5a8a2706d3 win32.c: fix error on mingw
* win32/win32.c (FILE_ID_128): defined on mingw already.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-04 12:49:20 +00:00
usa ce7c1c0577 support nanosec file timestamp on newer Windows
Support nanosec file timestamp on Windows 8 or later.
Original patches are written by kubo (Kubo Takehiro).
Windows 7 and earlier also supports nanosec file timestamp, but it's too
accurate than system time.  so, this feature is disabled on such versions.
[Feature #13726]

this change also includes [Misc #13702]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-04 10:48:30 +00:00
usa b7de978e45 try to pass compiling with VC12
* win32/win32.c (FILE_ID_128): it's not defined in SDK with VC10, but seems to
  be defined in SDK with VC12.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-04 06:41:28 +00:00
usa 8e7560bbaf support `File.identical?` on ReFS
* file.c (rb_file_idenitical_p): move Windows dependent code to win32/win32.c.

* win32/win32.c (rb_w32_file_identical_p): support ReFS.
  see [Feature #13731] [ruby-dev:50166]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-04 03:33:48 +00:00
nobu e61e19a2fe setup.mak: make Makefile stable
* win32/setup.mak (-basic-vars-): moved BASERUBY and HAVE_BASERUBY
  definition to make Makefile stable when they have been defaulted.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-03 04:41:06 +00:00
nobu e33b1690d0 win32.c: vm_exit_handler
* win32/win32.c (vm_exit_handler): separate exit handler for
  resources which must be released at exit of Ruby VM.

* win32/win32.c (socklist_insert, constat_handle): install the VM
  exit handler.

* gc.c (ENABLE_VM_OBJSPACE): no longer needs process global object
  space on Windows too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-11-20 01:17:43 +00:00
nobu 7b835184d7 Localize EC functions
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-28 23:54:16 +00:00
nobu bbacbc96d6 common.mk: test-bundled-gem [ci skip]
* common.mk (test-bundled-gems): moved from Makefile.in so it
  might work on nmake too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-26 00:59:15 +00:00
nobu fffcf46f93 win32.c: unknown reparse tags
* win32/win32.c (rb_w32_read_reparse_point): skip unknown reparse
  tags.  [ruby-core:83539] [Bug #14047]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-25 08:37:17 +00:00
nobu 8fc8587e05 sysconfdir on Windows
* ext/etc/etc.c (etc_sysconfdir): mentioned special case on
  Windows.  [ruby-core:43110] [Bug #6121]

* ext/etc/extconf.rb: define SYSCONFDIR only if sysconfdir is set
  in RbConfig::CONFIG and not empty.

* win32/Makefile.sub (config.status): sysconfdir is not used on
  Windows.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-24 13:48:08 +00:00
naruse 1333c0f0df Revert "sysconfdir on Windows"
This reverts commit r60279.
This breaks mswin build:
https://ci.appveyor.com/project/ruby/ruby/build/1.0.5571

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-24 11:15:20 +00:00
nobu e4ff51b05a sysconfdir on Windows
* ext/etc/etc.c (etc_sysconfdir): mentioned special case on
  Windows.  [ruby-core:43110] [Bug #6121]

* win32/Makefile.sub (config.status): sysconfdir is not used on
  Windows.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-21 14:19:23 +00:00
usa 6a832cdb8d Use GetSystemTimePreciseAsFileTime on recent Windows
* win32/win32.c (gettiemeofday, wutime): use GetSystemTimePreciseAsFileTime
  instead of GetSystemTimeAsFileTime if it is available.
  This patch is based on Takehiro Kubo <kubo@jiubao.org> 's one (change only
  the name of wrapper function).  Thanks! and sorry to late
  [ruby-dev:50167] [Feature #13732]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-21 08:41:22 +00:00
nobu c739150c1e configure.ac: LIBRUBY_SONAME
* configure.ac (LIBRUBY_SONAME): add new variable for the name of
  the library name with compatibility version.
  [ruby-core:83208] [Bug #14002]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-14 15:35:05 +00:00
nobu 56c61b5cde LIBPATHENV on Windows
* configure.in, win32/Makefile.sub: set LIBPATHENV to PATH on
  Windows, for extra DLLs.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-13 15:28:16 +00:00
nobu f2e04b77aa configure.in: moved flags
* configure.in (-DRUBY_DEVEL): moved from debugflags to XCFLAGS.
  this flags should be applied to the ruby core only.

* configure.in (-fno-fast-math): moved from optflags to CFLAGS.
  this flag is not for optimization.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-08 08:03:18 +00:00
nobu c5683c9a63 win32.c: fix function pointer
* win32/win32.c (rb_w32_set_thread_description): fix the condition
  if the API function pointer is found.
  [ruby-core:82494] [Bug #13845]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-28 23:25:56 +00:00
nobu 420efa9c78 win32.c: fix return value
* win32/win32.c (rb_w32_set_thread_description_str): return the
  result when name is nil.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-26 14:22:31 +00:00
nobu 19d692920d thread_win32.c: set thread name
* thread_win32.c (native_set_another_thread_name): set thread name
  by SetThreadDescription.

* win32/win32.c (rb_w32_set_thread_description): dynamically try
  SetThreadDescription.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-26 00:30:03 +00:00
nobu 2a5c20acaf fix typo in help [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-03 03:41:50 +00:00
usa 6c676acfa2 Should show the entity of $PATH_SEPARATOR
* win32/configure.bat (--help): should show the entity of $PATH_SEPARATOR.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-03 03:31:38 +00:00
usa 3bec82c728 Mention about `--with-opt-dir`
* win32/configure.bat (--help): mention about `--with-opt-dir`.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-03 03:25:46 +00:00
nobu da373e5394 win32.c: restrict cursor move
* win32/win32.c (constat_apply): restrict cursor move in visible
  screen only.  [ruby-core:81883] [Bug #13707]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-07-03 23:42:12 +00:00
nobu 66245e1b2b win32.c: clear relative to screen
* win32/win32.c (constat_apply): clear visible screen only, not
  the entire buffer.  [ruby-core:81883] [Bug #13707]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-07-03 10:56:21 +00:00
nobu 2c4d43082c win32.c: cursor relative to screen
* win32/win32.c (constat_apply): move relative to visible screen,
  not the entire buffer.  [ruby-core:81883] [Bug #13707]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-07-03 10:22:15 +00:00
nobu 6af650256b RUBY_DEVEL flag
* configure.in: define RUBY_DEVEL only in the trunk.

* gc.c: enable runtime rgengc debug if RUBY_DEVEL

* ruby.c (debug_option): enable RUBY_DEBUG in --debug option only
  if RUBY_DEVEL.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-21 04:34:25 +00:00
nobu ff5e3b98a0 win32.c: rb_dir_getwd_ospath
* win32/win32.c (rb_dir_getwd_ospath): Windows implementation
  moved from dir.c.  get rid of freeing malloced memory by xfree.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-12 00:18:30 +00:00
nobu cb85a5316f win32.c: no locale
* win32/win32.c (skipspace, w32_cmdvector): get rid of iswspace(),
  which is locale dependent.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-05 07:26:15 +00:00
nobu 76bca90c5b Makefile.sub: set ENABLE_SHARED [ci skip]
* win32/Makefile.sub (LIBRUBY_LDSHARED): mswin build always
  enables shared.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-31 06:40:49 +00:00
nobu 000482a173 rb_w32_ugetcwd: UTF-8 version getcwd
* dir.c (rb_dir_getwd): convert from UTF-8.

* win32/win32.c (w32_getcwd): codepage aware getcwd using
  GetCurrentDirectoryW.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-16 10:25:56 +00:00
nobu 0f4d856d4d define RUBY_DEBUG_ENV only for main.c
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-15 07:04:48 +00:00
usa e87cc8ea0d It seems that MSVCRT accepts negative time_t
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-12 09:46:45 +00:00
nobu fd6853a229 stale targets
* common.mk (update-mspec, update-rubyspec): empty stale targets.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-07 13:40:56 +00:00
usa eb7817ad7e setup.mak have to handle `GIT` and `HAVE_GIT`
* win32/setup.mak: seems to be forgotten to commit at r58295.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-30 21:18:31 +00:00
nobu 41e6fd8931 use $(srcdir).
* win32/Makefile.sub (enc/jis/props.h): build it in not builddir,
  but in srcdir.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-23 01:23:30 +00:00
rhe 70c9bb4b81 Remove missing/strtol.c
It is never used. We don't need it anyway as it's part of C89 which is
our current minimum requirement.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-21 06:03:12 +00:00
nobu 0fed8a6323 Makefile.sub: fix HAVE_GIT
* win32/Makefile.sub (HAVE_GIT): fix missing `do`, excape `$`, and
  fix a typo.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-10 02:13:52 +00:00
nobu b68fb2efce Allow --without-baseruby option
* configure.in, win32/configure.bat: allow --without-baseruby
  option to use already generated files without baseruby.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-10 01:22:49 +00:00
nobu 0ab20b48c5 Add --with-git option
* configure.in, win32/configure.bat: add --with-git option to
  tell git command to use, or not to use git.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-10 01:22:48 +00:00
nobu 4c70f04786 setup.mak: ENABLE_DEBUG_ENV [ci skip]
* win32/setup.mak (-basic-vars-): pass ENABLE_DEBUG_ENV to
  Makefile.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-31 00:35:01 +00:00
nobu 3cef10489a common.mk: separate clean-ext
* common.mk (clean-ext): separate clean-up of makefiles and
  timestamps, and clean-up of subdirectories under ext and gems.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-01 07:53:15 +00:00
nobu 3d718d2119 disable critical-error-handler
* win32/win32.c (rb_w32_sysinit): disable critical-error-handler
  message box even on mswin, regardless of runtime DLL version.
  [ruby-dev:49988] [Bug #13254]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-28 04:33:15 +00:00
nobu 7def092804 Makefile.sub: ULL_TO_DOUBLE
* win32/Makefile.sub (config.h): define ULL_TO_DOUBLE for
  conversion from unsigned __int64 to double, which is not
  implemented in till Visual Studio.NET 2003, aka VC7.1.

* bignum.c (estimate_initial_sqrt): use ULL_TO_DOUBLE if defined.

* numeric.c (BDIGIT_DBL_TO_DOUBLE): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-28 02:58:12 +00:00
nobu 9019934c64 win32.c: memcpy instead of strlcpy
* win32/win32.c (cmdglob): memcpy the exact size instead of
  strlcpy with +1.

* win32/win32.c (w32_cmdvector): ditto, with NUL-terminating.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-16 02:47:21 +00:00
nobu e704fc8280 win32/setup.mak: reorder
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-01 04:54:03 +00:00
nobu 12d61437ea VC18 or later support stdbool.h
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-30 11:45:00 +00:00
nobu 17b748df2b Parallel ext configuration
* ext/configure-ext.mk: configure each directories underneath ext
  in parallel.

* template/exts.mk.tmpl: then collect the results.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-23 02:50:23 +00:00
nobu 709a60f92d Makefile.sub: refine distclean-ext
* win32/Makefile.sub (distclean-ext, realclean-ext): remove
  extinit.c and suppress error message when failed to remove ext
  directory.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-22 08:04:37 +00:00
nobu d0035dbdf8 Makefile.sub: refine configuration check
* win32/Makefile.sub (config.status): check configured target by
  reading from config.status, and remove version dependent values
  from config.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-26 08:01:37 +00:00
nobu 256d8c9ecf Makefile.sub: fix dependency of RUBYDEF
* win32/Makefile.sub (RUBYDEF): fix dependency, win32/mkexports.rb
  requires rbconfig.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-26 05:07:54 +00:00
usa de59178aaf * win32/win32.c (winnt_stat): use `numberof` macro instead of constant.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-21 08:13:42 +00:00
usa 5d6ace6121 Fixed potentially buffer overrun.
* win32/win32.c (winnt_stat): the return value of `get_final_path` is the
  expected buffer length, not the actuall filled length.

* win32/win32.c (winnt_stat): `finalname` may be accessed in the outer block of
  its definition via `path`.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-21 07:50:14 +00:00
usa ca25a970d6 Fixed link error with VC14.
* win32/mkexports.rb (Exports::Mswin#each_exports): should ignore `vsprintf_s_l`
  and the like just like `vsprintf_l`.
  [ruby-dev:49899] [Bug #13033]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-14 17:49:26 +00:00
nobu 9db0b2d7ee win32.c: suppress warning
* win32/win32.c (rb_w32_home_dir): suppress sequence-point
  warning, REALLOC_N re-assigns the variable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-07 03:19:33 +00:00
usa 3826f17790 const pointer is not able to be free.
* win32/file.c (rb_default_home_dir): should not be marked as const.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-07 02:03:40 +00:00
nobu 6b88dd2698 file.c: home directory from system
* file.c (rb_default_home_dir): resolve home directory from the
  system database when HOME is not set.  [Feature #12695]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-26 11:37:01 +00:00
nobu 58742627af win32.c: special folders as home dir
* win32/win32.c (rb_w32_home_dir): move from win32/file.c to try
  special folders.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-26 11:37:01 +00:00
nobu 79ca0925b4 install-static-library option [ci skip]
* win32/configure.bat: add option to enable/disable to install
  static ruby library.  defaulted to "no".  [Feature #12845]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-17 07:20:39 +00:00
usa c82d87444b * win32/win32.c (poll_child_status): rb_w32_wait_events_blocking() sets
errno internally, then should not set it here.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-30 17:03:48 +00:00
usa a334693422 * win32/Makefile.sub (config.h): fixed compile error with VC introduced
by previous commit.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-16 10:47:54 +00:00
usa ee0a79b37f * win32/win32.c (rb_w32_write_console): should set writen length as the
return value.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-11 10:08:01 +00:00
nobu 8e0601b7e5 win32/file.c: use ALLOC_N
* win32/file.c (home_dir, replace_to_long_name): use ALLOC_N
  instead of casted xmalloc with multiplication.

win32/file.c (rb_file_expand_path_internal): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-25 02:57:41 +00:00
nobu 70d840afd5 win32/file.h: rb_w32_filecp
* win32/file.h (rb_w32_filecp): add declaration.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-25 02:11:19 +00:00
nobu 638f67211b win32/file.c: remove a codepage argument
* win32/file.c (append_wstr): remove a codepage argument, and use
  INVALID_CODE_PAGE for conversion by econv.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-24 15:42:33 +00:00
nobu b34321a221 win32/file.c: fix result length
* win32/file.c (append_wstr): exclude the terminator from the
  result length when input len == -1.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-24 15:39:52 +00:00
nobu a3b84cff15 win32/file.c: use enum
* win32/file.c (home_dir): use enum instead of magic numbers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-24 13:04:36 +00:00
nobu 9b454bfaf3 rubystub
* rubystub.c: generalize win32/stub.c.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-20 02:20:34 +00:00
nobu 51d30645a2 win32.c: no newline for rb_fatal
* win32/win32.c (StartSockets): rb_fatal does not need a newline
  at the end.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-20 02:19:19 +00:00
nobu c6bf047267 Revert r55968 "scriptbin on cygwin"
win32/stub.c only works with malloced argv as win32/win32.c, to
realloc it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-19 08:32:16 +00:00
nobu 7f7e809a45 scriptbin on cygwin
* cygwin/GNUmakefile.in (scriptbin): enable on cygwin.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-19 08:01:20 +00:00
nobu 2e11bf259c common.mk: MAKE_ENC
* common.mk (MAKE_ENC): arguments for enc.mk

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-16 08:41:59 +00:00
nobu 743c279d70 win32.c: initialize with an impossible value
* win32/win32.c (getifaddrs, rb_w32_getppid): initialize the API
  pointers with an impossible value not to try everytime on old
  platforms.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-05 08:31:23 +00:00
nobu 518af61ba6 win32.c: static API pointers
* win32/win32.c (rb_w32_inet_ntop, rb_w32_inet_): make the
  API pointers static not to get the address everytime.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-05 08:28:03 +00:00
nobu bd46ad2195 win32.c: call get_final_path pointer
* win32/win32.c (get_final_path): initialize this pointer without
  further comparisons.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-05 08:22:35 +00:00
usa 441cbf59f5 * win32/win32.c (set_pioinfo_extra): use more reliable way to search
the position of pioinfo of VC14, and also support debug library of it.
  patched by davispuh AT gmail.com
  [ruby-core:76644] [Bug #12644]
  this fixes also [Bug #12631]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-01 19:12:28 +00:00
nobu a325876ad3 Fix Issues reported by PVS-Studio static analyzer
* vm.c (vm_set_main_stack): remove unnecessary check.  toplevel
  binding must be initialized.  [Bug #12611] (N1)
* win32/win32.c (w32_symlink): fix return type.  [Bug #12611] (N3)
* string.c (rb_str_split_m): simplify the condition.
  [Bug #12611](N4)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-22 10:55:22 +00:00
nobu ba1d0ea6a8 common.mk: INCFLAGS
* common.mk (INCFLAGS): move from Makefile.in.

* win32/Makefile.sub (XCFLAGS): missing directory is not
  neccessary as an include path.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-16 12:41:23 +00:00
nobu 35ff4064e8 Makefile.sub: update enc/unicode/name2ctype.h
* win32/Makefile.sub (enc/unicode/name2ctype.h): remove stale recipe.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-14 10:45:33 +00:00
svn e4a27f25c5 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-11 16:30:04 +00:00
usa 5e1ee25ad8 * configure.in, lib/mkmf.rb, win32/Makefile.sub (CSRCFLAG): make the
compiler option replacable in Makefile.

* win32/Makefile.sub (OUTFLAG, COUTFLAG): ditto.

* win32/Makeile.sub, win32/setup.mak (CC): should not append `-nologo`
  option forcely.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-11 16:30:03 +00:00
nobu 8361dab9cb VC6 error
* win32/win32.c (GetSystemWindowsDirectoryW): use
  GetWindowsDirectoryW for VC6.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-29 04:37:14 +00:00
nobu 6e6a8c02af Fix calling convention
* win32/win32.c (get_special_folder): fix calling convention of
  SHGetPathFromIDListEx, which should be WINAPI.  pointed out by
  @arton at http://twitter.com/arton/status/744884064277016576

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-20 15:56:49 +00:00
nobu f4d18f524c ifchange.bat: drop old systems
* win32/ifchange.bat: drop support for command.com used on old
  systems.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-09 06:31:11 +00:00
nobu 5820c6a3ce win32.c: use PATH_MAX
* win32/win32.c: unify MAX_PATH, _MAX_PATH, and MAXPATHLEN to
  PATH_MAX, except for MAX_PATH in get_special_folder for an API
  limit.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-04 01:38:41 +00:00
nobu f0ead75ff1 win32.c: fail before getting ITEMIDLIST
* win32/win32.c (get_special_folder): fail before getting
  ITEMIDLIST if the buffer is less than 260 word which
  SHGetPathFromIDListW requires.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-03 13:38:27 +00:00
usa b30bbc38fc * win32/win32.c (get_special_folder): typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-03 08:52:03 +00:00
nobu 0661411671 win32.c: use SHGetPathFromIDListEx
* win32/win32.c (get_special_folder): use SHGetPathFromIDListEx if
  available instead of old SHGetPathFromIDListW, to check the
  buffer size.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-02 12:18:12 +00:00
nobu a8bfa9bdf1 use system crypt
* configure.in: revert r55237.  replace crypt, not crypt_r, and
  check if crypt is broken more.
* missing/crypt.c: move crypt_r.c
* string.c (rb_str_crypt): use crypt_r if provided by the system.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-01 06:58:21 +00:00
usa b9e0cd4899 * win32/Makefile.sub (MISSING): fixed build error introduced at r55237.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-01 02:35:36 +00:00
nobu 0d123232e5 win32.c: RUBY_CRITICAL
* win32/win32.c (RUBY_CRITICAL): removed the argument but make
  just a block which does nothing, so that debuggers can step into
  the block.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-29 04:10:28 +00:00
naruse ceea7ecef9 * configure.in (ALWAYS_INLINE): force compilers the function inlined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-21 13:24:32 +00:00
nobu d6d8ea91e9 win32: qsort_s
* win32/Makefile.sub (HAVE_QSORT_S): disable on VS2012 too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-11 16:39:24 +00:00
usa 98c084b8ba * win32/Makefile.sub (HAVE_QSORT_S): use qsort_s only for Visual Studio
2012 or later, because VS2010 seems to causes a SEGV in
  test/ruby/test_enum.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-11 15:21:49 +00:00
nobu be4b1c1e2c util.c: qsort_s
* util.c (ruby_qsort): use qsort_s if available, for Microsoft
  Visual Studio 2005 (msvcr80.dll) and mingw.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-11 08:18:56 +00:00
usa 3e5dc499a8 * win32/win32.c, include/ruby/win32.h (rb_w32_utruncate): implements new
truncate alternative which accepts UTF-8 path.

* file.c (truncate): use above function.
  [Bug #12340]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-02 14:05:19 +00:00
usa 54916154a0 * win32/win32.c: drop Win2K support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-01 12:00:35 +00:00
usa 62b6e90d58 * cont.c, hash.c, random.c, win32/win32.c: cleanup some Win9x/ME/NT4
support leftovers.
  [fix GH-1328] patched by @cremno


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-01 11:42:41 +00:00
nobu f9602ee315 win32/win32.c: remove unnecessary declaration
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-29 00:56:44 +00:00
nobu 9ef7c87d67 win32/file.c: fix reallocation threshold
* win32/file.c (replace_to_long_name): fix reallocation threshold.
  dereferenced size of a pointer is not same as the buffer size.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-28 06:54:05 +00:00
nobu 1e775c18e5 win32/file.c: remove unnecessary code
* win32/file.c (replace_to_long_name): remove unnecessary backward
  scan for the last directory separator.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-28 06:54:03 +00:00
nobu cc0ffc5517 win32.c: suppress warnings
* win32/win32.c (set_pioinfo_extra): remove "/*" within comment.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-24 01:10:29 +00:00
naruse 9afc312b4f Support MSVC14 and 15 [Bug #11118]
Search _pioinfo which is not exported after MSVC14.
[Bug #12014] [GH-884]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-23 18:46:26 +00:00
hsbt 48d22f8360 * file.c, win32/file.c: Removed obsoleted safe level checks.
[fix GH-1327] Patch by @cremno

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-22 01:43:31 +00:00
nobu 75dc429f3e win32/file.c: fix free
* win32/file.c (rb_file_expand_path_internal): should free wpath,
  but not xfree, corresponding to rb_w32_mbstr_to_wstr which
  allocates by malloc.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-10 07:30:42 +00:00
nobu a3239b5bec win32.c: call w32_wopen directly
* win32/win32.c (rb_w32_uopen): call w32_wopen directly instead of
  variadic rb_w32_wopen.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-07 12:14:29 +00:00
usa 96e0b7d45f * win32/win32.c (rb_w32_write_console): remove unused variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-08 23:00:32 +00:00
usa b0b2df253f * win32/win32.c (rb_w32_write_console): now no need to check
ERROR_CALL_NOT_IMPLEMENTED because it is for old Win9X.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-08 08:34:35 +00:00
usa 693b335326 * win32/win32.c (rb_w32_write_console): stop the VT100 emulation if the
console supports it natively.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-08 07:55:48 +00:00
nobu 59d92b548b update-rubyspec: show latest commit
* Makefile.in, win32/Makefile.sub (update-mspec, update-rubyspec):
  ensure the latest commits.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-07 06:24:46 +00:00
nobu eee616315d win32.c: reuse fullpath buffer
* win32/win32.c (open_dir_handle): reuse the fullpath buffer
  instead of allocating another buffer for copy.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-02 05:43:44 +00:00
nobu 0f19e79b87 win32.c: w32_wopendir
* win32/win32.c (w32_wopendir): remove filename parameter, and
  check the drive letter in wpath instead.  rename from
  opendir_internal.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-01 15:06:17 +00:00
nobu 94cfa2893c win32.c: volume_prefix_len
* win32/win32.c (rb_w32_read_reparse_point): name the prefix
  length to be dropped.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-01 12:08:08 +00:00
nobu 19162d268b win32.c: suffix should be alnum
* win32/win32.c (fileattr_to_unixmode): built-in executable
  suffixes are alpha-numeric only, no needs to scan whole path,
  especially path separators.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-01 08:14:03 +00:00
nobu 1664a4ca03 win32.c: move counting length
* win32/win32.c (opendir_internal): defer counting the length just
  before the loop where it is used.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-01 06:25:21 +00:00
nobu ec943ac668 win32/file.c: drop garbage
* win32/file.c (rb_readlink): drop garbage after the substitute
  name, as rb_w32_read_reparse_point returns the expected buffer
  size but "\??\" prefix is dropped from the result.
* win32/win32.c (w32_readlink): ditto, including NUL-terminator.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-29 08:41:10 +00:00
usa 47f6196cf0 * win32/win32.c (fileattr_to_unixmode, rb_w32_reparse_symlink_p): volume
mount point should be treated as directory, not symlink.
  [ruby-core:72483] [Bug #11874]

* win32/win32.c (rb_w32_read_reparse_point): check the reparse point is
  a volume mount point or not.

* win32/file.c (rb_readlink): follow above change (but this pass won't
  be used).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-29 08:13:42 +00:00
nobu ac55501368 configure.bat: put a space
* win32/configure.bat: put a space after replaced string to get
  rid of something weird sometimes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 02:15:56 +00:00
shugo d735054a07 * win32/configure.bat: set svn:eol-style to CRLF.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 15:49:49 +00:00
svn 7ceffa0259 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 15:13:17 +00:00
nobu cf8e95cc6e configure.bat: fix strange goto
* win32/configure.bat: get rid of wrong goto destination by
  putting something before LF.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 15:13:16 +00:00
svn bd4930686b * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 14:40:48 +00:00
nobu 1d9cb2191f configure.bat: set eol-style
* win32/configure.bat: should be CRLF eol-style.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 14:40:47 +00:00
svn ba7f85f833 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 14:28:33 +00:00
nobu 98eae5d71e configure.bat: --with-libdir
* win32/configure.bat: add --with-libdir option for basename of
  libdir.  on Windows it must be placed under exec_prefix always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 14:28:31 +00:00
nobu e48375c112 common.mk: update-remote
* common.mk (update-remote): update by downloading remote files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-19 02:30:17 +00:00
nobu 445e11da50 probes.h including dummy header
* Makefile.in, win32/Makefile.sub (probes.h): include dummy header
  instead of copying.

* common.mk (probes.dmyh): add nmake VPATH prefix.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 03:32:43 +00:00
nobu a4c091a697 fix rc files conflict in parallel build
* cygwin/GNUmakefile.in (%.rc): generate .rc files separately to
  get rid of conflict in parallel build.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 02:46:31 +00:00
nobu d43ef66b12 RUBY_PROGRAM_VERSION from RUBY_VERSION
* configure.in, win32/setup.mak: extract RUBY_PROGRAM_VERSION from
  RUBY_VERSION in version.h instead of RUBY_API_VERSION numbers in
  include/ruby/version.h, and cut it into version numbers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 01:44:56 +00:00
nobu 1fbfa7180b RUBY_RELEASE_DATE in verconf.mk
* win32/setup.mak (verconf.mk): extract RUBY_RELEASE_DATE without
  quotation marks.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 00:23:04 +00:00
nobu 34b1c7ddd6 fix library teeny
* configure.in, win32/Makefile.sub: fix teeny of library version
  to 0.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 00:20:46 +00:00
nobu bc8a7f9ab7 revert r53459, r53427, r53314
Revert "* tool/make-snapshot: fix for the changes of version.h in r53314."
Revert "* version.h (RUBY_BUILD_VERSION_STR_3): Workaround for old version of"
Revert "program version from API version"

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 00:19:16 +00:00
nobu 8c327b7f3a program version from API version
* configure.in, version.h (RUBY_PROGRAM_VERSION): extract version
  numbers from API version in include/ruby/version.h except for
  TEENY, to save matz job next year.
* win32/setup.mak (-version-): use program version.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-25 16:24:43 +00:00
nobu 00a47cf678 setup.mak: split release date
* win32/setup.mak (verconf.mk): split release date into year,
  month, and day.

* common.mk (RUBY_RELEASE_DATE): move from Makefile.in to share
  with win32/setup.mak.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-25 15:02:14 +00:00
nobu 59fc842601 setup.mak: follow up r53310
* win32/setup.mak (verconf.mk): no longer appends, and escape
  dollar.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-25 14:50:26 +00:00
nobu fd236be28f setup.mak: follow up r53303
* win32/setup.mak (verconf.mk): follow up r53303.  needs STRINGIZE
  now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-25 14:46:27 +00:00
nobu bf52a8b6c4 Fix cross build
* tool/fake.rb: Fix cross build when srcdir is an absolute path.
* Makefile.in: PREP dependency is needed when cross build too, not
  "-r$(arch)-fake" to be  used before created.  [Fix GH-1125]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-05 08:48:28 +00:00
nobu 9fcfaa8da4 win32.c: fix argument type
* win32/win32.c (dupfd): promote argument type for old VC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-01 04:25:06 +00:00
nobu 24dcb1285d explicit_bzero.c: needs windows.h
* missing/explicit_bzero.c, random.c (explicit_bzero):
  SecureZeroMemory() needs windows.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-01 03:52:20 +00:00
usa 2e865ba81e * win32/win32.c (finish_overlapped_socket): return value of this
function should be only 0 or SOCKET_ERROR.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 05:16:13 +00:00
usa 01a54cf40f * win32/win32.c (finish_overlapped_socket): ignore EMSGSIZE when input,
because POSIX platforms just do so.  fixes test errors revealed by
  r52647.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 04:59:50 +00:00
usa 508addd7e0 * win32/win32.c (fstat): declare for mingw.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-17 10:50:28 +00:00
kosaki 3a48e12607 * numeric.c: Good-by Borland-C.
* include/ruby/backward/rubyio.h: ditto.
* include/ruby/backward/st.h: ditto.
* include/ruby/backward/util.h: ditto.
* include/ruby/backward/rubysig.h: ditto.
* include/ruby/backward/classext.h: ditto.
* dln.c: ditto.
* gc.c: ditto.
* win32/resource.rb: ditto.
* win32/dir.h: ditto.
* ext/tk/tcltklib.c: ditto.
* NEWS: announce that Borland-C is no longer supported.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-18 02:10:34 +00:00
nobu abf832f435 file.c: non-blocking open
* file.c (rb_file_load_ok): open in non-blocking mode withoout
  releasing GVL.  don't care about others than regular files and
  directories.  [ruby-dev:49272] [Bug #11559]
* ruby.c (load_file_internal): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-16 06:54:38 +00:00
nobu f213f5044e win32.c: fallback to WCHAR-version in MSVCRT
* win32/win32.c (rb_w32_open): should not fallback to ANSI-version
  in MSVCRT, fallback to WCHAR-version in rb_w32_wopen instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-22 11:59:47 +00:00
nobu 70b2af3b21 win32.c: no xmalloc at sys_init
* win32/win32.c (rb_w32_sysinit, rb_w32_readdir): compare by
  encoding index to get rid of encoding initialization before VM
  object space allocation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-15 06:15:44 +00:00
nobu 9c9d555e7f win32.c: encindex.h
* win32/win32.c: needs encindex.h for encoding indexes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-15 06:03:37 +00:00
nobu f6d77bf560 win32.c: fix dup2 return value
* win32/win32.c (rb_w32_dup2): should return the new fd on
  success, while msvcrt returns 0 wrongly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-12 10:09:03 +00:00
nobu f150a381db win32.c: more fcntl
* win32/win32.c (fcntl): implement F_GETFD, F_SETFD, and
  F_DUPFD_CLOEXEC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-12 05:23:22 +00:00
usa 49cbfc8359 * win32/win32.c (rb_w32_read_reparse_point): return correct required
buffer size for IO_REPARSE_TAG_MOUNT_POINT.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-08 03:06:10 +00:00
nobu 4e43e7ad0d win32.c: use plain strdup
* win32/win32.c (insert): should use plain strdup() instead of
  ruby_strdup() at startup time, and plain free()ed in cmdglob().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-07 13:05:31 +00:00
nobu 649016bdb1 win32.c: suppress a warning
* win32/win32.c (get_attr_vsn): assume GetLastError() never return
  0, to suppress a maybe-uninitialized warning in wrename().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-05 23:14:25 +00:00
nobu 441de1b376 Makefile.sub: more warnig flags
* win32/Makefile.sub (WARNFLAGS): disable some too verbose
  warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-05 01:38:50 +00:00
nobu f9ac2106bf file.c: use filesystem encoding
* file.c (rb_realpath_internal): use filesystem encoding if the
  argument is in ASCII encodings.
* win32/file.c (rb_readlink): needs the result encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-02 07:58:24 +00:00
nobu 6bbd9104cb win32: use ALLOCV
* win32/file.c (rb_readlink): use ALLOCV to get rid potential
  memory leak by NoMemoryError in ALLOCV.

* win32/win32.c (w32_readlink): allocate WCHAR path name and
  reparse buffer together.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-02 04:14:42 +00:00
nobu d93855e6ef win32.c: suppress warnings
* win32/win32.c (fchmod): put braces to suppress missing-braces
  warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-28 11:35:09 +00:00
nobu b072900780 win32.c: suppress warnings
* win32/win32.c (wrename): fix type of attributes to suppress
  warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-28 11:34:53 +00:00
nobu 262b10210f win32.c: fchmod
* win32/win32.c (fchmod): implement by using
  SetFileInformationByHandle.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-27 04:01:37 +00:00
nobu a2da0f7e42 win32.c: get attributes and VSN at once
* win32/win32.c (wrename): get attributes and VSN at once for each
  path names.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-27 03:58:10 +00:00
nobu f64d6357b6 win32.c: open_special
* win32/win32.c (open_special): extract to open existing file with
  backup semantics.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-27 03:57:56 +00:00
nobu b79d7910f5 win32.c: use backslashes
* win32/win32.c (w32_symlink): must use backslashes instead of
  slashes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-26 17:24:32 +00:00
nobu 8504c817e3 win32.c: ELOOP at wrename
* win32/win32.c (wrename): fail with ELOOP if failed to resolve
  the old path name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-26 16:22:56 +00:00
nobu a25de2c6e1 win32.c: fix return value of reparse_symlink
* win32/win32.c (reparse_symlink): return raw Windows error code
  since r51676.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-26 16:01:48 +00:00
nobu 91f5ee89ef win32.c: unlink symlinkd
* win32/win32.c (wunlink): SYMLINKD has to be removed as a
  directory but not a file.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-26 14:46:29 +00:00
nobu 14ae6199bf win32.c: fix for old platforms
* win32/win32.c (open_dir_handle): fix for old platforms where
  GetFinalPathNameByHandleW is not supported.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-26 14:12:43 +00:00
nobu 8e6259e0d9 win32.c: find by final path
* win32/win32.c (open_dir_handle): find by final path name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-26 08:11:33 +00:00
nobu dd67521bd1 win32.c: ELOOP by _wopen
* win32/win32.c (rb_w32_wopen): map the exact error for ELOOP when
  EINVAL is returned by _wopen of vc runtime.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-26 06:53:32 +00:00
nobu 597da7b2d0 win32.c: fake lchown
* win32/win32.c (lchown, rb_w32_ulchown): fake lchown.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-26 05:21:41 +00:00
nobu f4b66d24bb win32.c: ELOOP
* win32/win32.c (errmap): map ERROR_CANT_RESOLVE_FILENAME to
  ELOOP.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-26 04:47:37 +00:00
nobu 14aed229ea win32.c: fix offset
* win32/win32.c (opendir_internal): fix offset not to overwrite a
  backslash.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-25 05:11:35 +00:00
nobu 2f6fdd3aeb win32.c: rb_w32_reparse
* win32/win32.c (rb_w32_reparse): read reparse point in a dynamic
  buffer.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-25 05:11:19 +00:00
nobu 2e5c105ff2 win32.c: symlink
* win32/win32.c (w32_symlink): implement symlink().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-24 21:34:45 +00:00
nobu 457ca4dc29 win32.c: licenses
* win32/win32.c (rb_w32_wreadlink, rb_w32_wopen): add missing
  licenses.  [ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-24 08:55:09 +00:00
nobu 18d8ba2594 Makefile.sub: link libraries for extensions
* win32/Makefile.sub ($(LIBRUBY_SO)): needs additional libraries
  for extension libraries to link statically.
  [ruby-core:70499] [Feature #9018]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-21 10:48:19 +00:00
nobu 82da3da5ac win32.c: support known reparse points only
* dir.c (replace_real_basename), win32/win32.c (opendir_internal):
  check reparse point tags and treat supported tags only as
  symbolic links.  [ruby-core:70454] [Bug #11462]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-19 23:31:19 +00:00
nobu 006fad3fe3 win32.c: support known reparse points only
* win32/win32.c (winnt_lstat): check reparse point tags and treat
  supported tags only as symbolic links.
  [ruby-core:70454] [Bug #11462]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-19 14:48:09 +00:00
nobu 3c402604db win32.c: use ruby_strdup
* win32/win32.c (getifaddrs): use ruby_strdup instead of
  combination ruby_xmalloc, lstrlen and lstrcpy.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-10 05:19:25 +00:00
nobu e60d35e302 win32/file.c: use allocv buffer and API
* win32/file.c (rb_freopen): convert path name into allocv buffer
  and get rid of conversion failure in the case non-terminated
  string.  [ruby-core:69780] [Bug #11320]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-02 05:15:02 +00:00
nobu 1f22556040 internal.h: moved RClass
* internal.h (struct RClass): moved from ruby/ruby.h to hide the
  internals.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-28 01:32:15 +00:00
nobu 9a26485e40 Makefile.sub: fix clean-ext
* win32/Makefile.sub (clean-ext): fix usage of for /R, and adjust
  messages as other platforms.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-27 01:55:58 +00:00
nobu 4c4d0389f5 ruby.h: ASSUME
* include/ruby/ruby.h (ASSUME): hint for optimization, the
  expression is assumed to be true always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 11:27:46 +00:00