ruby/ext
Samuel Williams ea8a7287e2
Add support for sockaddr_un on Windows. (#6513)
* Windows: Fix warning about undefined if_indextoname()

* Windows: Fix UNIXSocket on MINGW and make .pair more reliable

* Windows: Use nonblock=true for read tests with scheduler

* Windows: Move socket detection from File.socket? to File.stat

Add S_IFSOCK to Windows and interpret reparse points accordingly.
Enable tests that work now.

* Windows: Use wide-char functions to UNIXSocket

This fixes behaviour with non-ASCII characters.
It also fixes deletion of temporary UNIXSocket.pair files.

* Windows: Add UNIXSocket tests for specifics of Windows impl.

* Windows: fix VC build due to missing _snwprintf

Avoid usage of _snwprintf, since it fails linking ruby.dll like so:

  linking shared-library x64-vcruntime140-ruby320.dll
  x64-vcruntime140-ruby320.def : error LNK2001: unresolved external symbol snwprintf
  x64-vcruntime140-ruby320.def : error LNK2001: unresolved external symbol vsnwprintf_l

whereas linking miniruby.exe succeeds.

This patch uses snprintf on the UTF-8 string instead.

Also remove branch GetWindowsDirectoryW, since it doesn't work.

* Windows: Fix dangling symlink test failures

Co-authored-by: Lars Kanis <kanis@comcard.de>
2022-11-17 14:50:25 -08:00
..
-test- Transition shape when object's capacity changes 2022-11-10 10:11:34 -05:00
bigdecimal [ruby/bigdecimal] Add fallback definition of MAYBE_UNUSED 2022-11-15 06:59:11 +00:00
cgi/escape [ruby/cgi] Implement CGI.url_encode and CGI.url_decode 2022-08-16 19:12:03 +09:00
continuation [Feature #18249] Update dependencies 2022-02-22 09:55:21 -05:00
coverage Revert "Revert "This commit implements the Object Shapes technique in CRuby."" 2022-10-11 08:40:56 -07:00
date [ruby/date] Check month range as civil 2022-10-27 05:36:11 +00:00
digest Update dependencies for bc28acc347 2022-11-05 00:48:42 +09:00
erb [ruby/erb] Revert the strpbrk optimization 2022-11-05 08:34:32 +00:00
etc getenv: is in stdlib.h 2022-09-21 11:44:09 +09:00
fcntl [Feature #18249] Update dependencies 2022-02-22 09:55:21 -05:00
fiddle [ruby/fiddle] Free closures immediately 2022-10-18 17:21:45 +09:00
io Revert "* expand tabs. [ci skip]" 2022-07-30 17:29:56 +09:00
json [flori/json] Stop including the parser source __LINE__ in exceptions 2022-07-29 19:10:10 +09:00
monitor [Feature #18249] Update dependencies 2022-02-22 09:55:21 -05:00
nkf Expand tabs [ci skip] 2022-07-21 09:42:04 -07:00
objspace Remove numiv from RObject 2022-11-10 10:11:34 -05:00
openssl [ruby/openssl] add document-method for BN#mod_inverse 2022-10-17 23:38:35 +09:00
pathname [ruby/pathname] Fix autoload of FileUtils 2022-07-27 21:05:10 +09:00
psych [ruby/psych] Fix missing abort call 2022-10-12 20:24:38 +09:00
pty Transition shape when object's capacity changes 2022-11-10 10:11:34 -05:00
racc/cparse [Feature #18249] Update dependencies 2022-02-22 09:55:21 -05:00
rbconfig/sizeof [Feature #18249] Update dependencies 2022-02-22 09:55:21 -05:00
readline Expand tabs [ci skip] 2022-07-21 09:42:04 -07:00
ripper Transition shape when object's capacity changes 2022-11-10 10:11:34 -05:00
rubyvm Added depend files 2019-07-14 01:31:29 +09:00
socket Add support for sockaddr_un on Windows. (#6513) 2022-11-17 14:50:25 -08:00
stringio [ruby/stringio] [DOC] Enhanced RDoc for StringIO 2022-10-21 14:12:45 +00:00
strscan [Feature #18249] Update dependencies 2022-02-22 09:55:21 -05:00
syslog Expand tabs [ci skip] 2022-07-21 09:42:04 -07:00
win32 Expand tabs [ci skip] 2022-07-21 09:42:04 -07:00
win32ole Expand tabs [ci skip] 2022-07-21 09:42:04 -07:00
zlib Removed mswin patch for zlib-1.2.11 2022-04-05 14:30:47 +09:00
.document Remove unnecessary files from .document 2020-12-20 16:00:13 +09:00
extmk.rb Clean extension build directories and exts.mk file 2022-11-16 18:42:46 +09:00
Setup Removed sdbm entries from toolchanins 2020-06-19 08:26:47 +09:00
Setup.atheos Removed sdbm entries from toolchanins 2020-06-19 08:26:47 +09:00
Setup.nt Removed sdbm entries from toolchanins 2020-06-19 08:26:47 +09:00