Commit graph

1078 commits

Author SHA1 Message Date
usa
50258b19fd * include/ruby/intern.h, thread.c, win32/Makefile.sub (rb_fdset_t,
rb_fd_init, rb_fd_term, rb_fd_zero, rb_fd_set, rb_fd_clr, rb_fd_isset,
	  rb_fd_select, rb_fd_ptr, rb_fd_max, HAVE_RB_FD_INIT): new type,
	  functions, and macros for Windows.

	* win32/win32.c (extract_fd, rb_w32_select): use rb_fdset_t to expand
	  fd_array if needed.  [ruby-core:19946]

	* win32/win32.c (copy_fd): new funcion for rb_w32_select().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-13 07:52:22 +00:00
nobu
dea3ad3cba * win32/win32.c (internal_cmd_match): extracted from
is_internal_cmd.

* win32/win32.c (argv_size, join_argv): escapes redirection, pipe
  and carret punctuations with carrets.

* win32/win32.c (rb_w32_aspawn): ditto, and redirections and pipe
  have no meanings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-12 17:21:45 +00:00
nobu
729b4a813b * win32/win32.c (open_dir_handle): extracted from rb_w32_opendir.
* win32/win32.c (winnt_stat): gets rid of strange behavior of
  GetFileAttributes().  [ruby-core:21269]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-12 07:45:31 +00:00
nobu
97826efddd * win32/win32.c (init_env): use user profile folder than personal
folder.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-05 03:52:11 +00:00
usa
9282f9f9d4 * common.mk, Makefile.in, win32/Makefile.sub (INSNS): move the macro
definition from common.mk to {Makefile.in,win32/Makefile.sub}.
	  [ruby-dev:37678]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-03 13:26:11 +00:00
usa
0d1e85ee4b * common.mk, Makefile.in, win32/Makefile.sub ($(INSNS), node_name.inc,
known_errors.inc, miniprelude.c, newline.c): move rules from common.mk
	  to {Makefile.in,win32/Makefile.sub) for nmake.
	  [ruby-core:20993]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02 18:03:05 +00:00
nobu
fd855a082b * Makefile.in (distclean-ext, realclean-ext): use EXTS as default.
* win32/Makefile.sub (distclean-ext, realclean-ext): try to remove ext
  directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-31 22:16:51 +00:00
nobu
00cb692395 * win32/Makefile.sub (config.h): do not use snprintf/vsnprintf in
msvcrt.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-28 10:11:07 +00:00
usa
39c2cf2c81 * win32/win32.c (rb_w32_argv_size): if an argument is empty, it's size
is 2, not 0, because it will be converted to "".



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 11:28:18 +00:00
nobu
7c152e7f08 * win32/win32.c (rb_w32_spawn): deals with quoted commands.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 10:51:27 +00:00
usa
12932721dc * win32/win32.c (rb_w32_spawn): support normal commands with arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 07:50:57 +00:00
nobu
d9691f6e84 * cygwin/GNUmakefile.in (rubydll.def), win32/mkexports.rb
(Exports#exports): added VERSION.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-22 03:26:22 +00:00
nobu
9f3b77e435 * configure.in (mingw): no longer uses snprintf and vsnprintf of
msvcrt.

* win32/win32.c (rb_w32_vsnprintf, rb_w32_snprintf): removed.

* win32/Makefile.sub (config.h): vsnprintf exists in VC7 or later.

* win32/mkexports.rb (Exports#initialize): aliases
  rb_w32_vsnprintf and rb_w32_snprintf for binary compatibility.

* sprintf.c (rb_str_format): uses snprintf instead of sprintf.

* numeric.c (flo_to_s, rb_num2long, rb_num2ll): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-22 03:05:20 +00:00
nobu
7ac32d7a16 * dln.c (dln_find_1): supplements an extension for executable
files on DOSish platforms.

* io.c (pipe_open): use rb_w32_aspawn() for array form.

* win32/win32.c (rb_w32_pipe_exec): no longer used.

* win32/win32.c (rb_w32_spawn, rb_w32_aspawn): deals with batch
  files and commands with extensions.  [ruby-core:20695]

* win32/win32.c (has_redirection): supports environment variables
  references.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-20 09:28:29 +00:00
usa
5e7b16cd8a * win32/Makefile.sub (config.h): define CANONICALIZATION_FOR_MATHN
to follow r20683.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-15 10:08:48 +00:00
usa
5d65e0982d * win32/win32.c (rb_w32_read, rb_w32_write, rb_w32_isatty): check
whether fd is valid.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-05 09:08:24 +00:00
usa
a9a4435e12 * win32/win32.c (rb_w32_read): ERROR_BROKEN_PIPE is not a real error
at this point.

	* io.c (pipe_open): use rb_w32_spawn() instead of rb_w32_pipe_exec()
	  to use our own redirection scheme.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 16:39:03 +00:00
usa
8068f49727 * win32/win32.c (waitpid): fix bug of checking child slot.
* win32/win32.c (FindChildSlotByHandle): new.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 14:31:37 +00:00
usa
d544a3d6c7 * win32/win32.c (rb_w32_accept): secure fd before accept because if
error causes in securing, cannot restore the state of accepted
	  socket.
	  fixed [ruby-core:19728]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-11 08:54:07 +00:00
usa
703c1825eb * win32/win32.c (ifs_open_socket): should retry without proto_buffer
if cannot find the suitable protocol. a patch from Heesob Park.
	  fixed [ruby-core:19713]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-10 00:57:49 +00:00
suke
510d2a7d2e win32/Makefile.sub: add RUNRUBYOPT. [ruby-dev:37009]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-02 13:11:16 +00:00
usa
4542baa983 * win32/win32.c (rb_w32_open): shouldn't seek here.
* win32/win32.c (rb_w32_write): write to the end of the file when
	  FAPPEND is specified.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-29 02:01:19 +00:00
usa
746a09406e * win32/win32.c (rb_w32_open): need to seek to the end of the file when
O_APPEND is specified.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 15:27:06 +00:00
usa
2f4e4a841d * win32/win32.c (rb_w32_pipe_exec): internal fds should be always
binmode.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 10:01:26 +00:00
usa
4189288f2e * win32/Makefile.sub (RUNRUBY): now ruby requires something from
gem_prelude, so need to set library path.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 00:20:37 +00:00
nobu
860fad971d * thread.c (blocking_region_{begin,end}): declared as inline.
* util.c (freedtoa): used only when MULTIPLE_THREADS is not defined.

* win32/win32.c (rb_w32_pipe): serial is DWORD.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-26 09:01:23 +00:00
yugui
5660e09f08 * configure.in (sitedir): considers --program-prefix and
--program-suffix.
  (vendordir): ditto.
  (rubyhdrdir): ditto.

* mkconfig.rb (CONFIG["rubylibdir"]): ditto.

* win32/Makefile.sub: ditto.

* instruby.rb (:rdoc): ditto.

* lib/rdoc/ri/paths.rb (RDoc::RI::Paths): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-24 14:05:49 +00:00
nobu
b025ce4678 * common.mk (ID_H_TARGET): phony target to update id.h.
* tool/ifchange, win32/ifchange.bat: --timestamp option added.

* tool/generic_erb.rb: --timestamp, --output and --if-change options
  added.

* template/id.h.tmpl: moved from id.h.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-17 10:46:23 +00:00
yugui
a8c3540b32 * dln.c: Ruby no longer supports Windows CE.
* eval.c: ditto.

* include/ruby/defines.h: ditto.

* include/ruby/win32.h: ditto.

* ruby.c: ditto.

* strftime.c: ditto.

* win32/Makefile.sub: ditto.

* win32/win32.c: ditto.

* ext/tk/extconf.rb: ditto.

* lib/fileutils.rb: ditto.

* test/fileutils/test_fileutils.rb: ditto.

* wince/*: removed.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-04 13:48:20 +00:00
usa
bfdadb885a * win32/{configure.bat,setup.mak,Makefile.sub): add --program-prefix
configure option support.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-03 05:04:57 +00:00
usa
743765cd3b * win32/win32.c (subtruct): check tv_sec. reported by ko1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23 10:39:21 +00:00
usa
c27baaa090 * win32/win32.c (getppid): typo. [ruby-dev:36202]
* process.c (get_ppid): mention the return value on Windows.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-08 09:17:22 +00:00
usa
80de18922e * win32/Makefile.sub (config.h): define SIZE_MAX for VC++6/7.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-08 09:09:41 +00:00
usa
9ae4b8bbfe * win32/win32.c (filetime_to_unixtime): remove unused variable.
[ruby-dev:36191]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-08 08:46:53 +00:00
usa
e64711977b * win32/win32.c (filetime_to_timeval): new function, split from
gettimeofday().

	* win32/win32.c (gettimeofday): use above function.

	* win32/win32.c (filetime_to_unixtime): ditto. [ruby-dev:36135]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-03 16:14:17 +00:00
ko1
b00710df4e * win32/win32.c: fix ruby/signal.h depending codes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-03 15:06:55 +00:00
usa
6d4a6a309b * win32/Makefile.sub (COMPILERFLAG): new compiler flag to compile
enc/trans/japanese*.c.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-02 03:59:39 +00:00
usa
11ba62be29 * win32/Makefile.sub (miniruby): new target.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-02 03:32:32 +00:00
usa
7247d1a857 * win32/win32.c (gettimeofday): easier calculation. use the definition
of the Gregorian calender.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-02 01:51:41 +00:00
usa
0c26c309d4 * win32/win32.c (gettimeofday): calc tv_sec and tv_usec from system
time by myself. [ruby-dev:36084]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-02 01:17:28 +00:00
usa
4badcec903 * win32/win32.c (gettimeofday): shouldn't use mktime(2) because it's
buggy about handling summer time.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 09:28:54 +00:00
nobu
70b98dd4af * lib/mkmf.rb (try_func, try_var, have_struct_member),
(scalar_ptr_type?, scalar_type?): use MAIN_DOES_NOTHING.

* lib/mkmf.rb (MAIN_DOES_NOTHING): defaults to ordinary main.

* win32/Makefile.sub (config): for MAIN_DOES_NOTHING for wince.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-31 08:52:56 +00:00
usa
7b2f9d9238 * win32/win32.c (rb_w32_open, rb_w32_read, rb_w32_write): fallback to
MSVCRT if text mode is specified. this case will not be used from
	  ruby itself.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-30 11:06:52 +00:00
usa
29c7201262 * win32/win32.c (rb_w32_read): EOF is not error.
ref [ruby-dev:36050]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-30 10:51:40 +00:00
usa
d2d37173e7 * win32/win32.c (rb_w32_read, rb_w32_write): more accurate handling
of wait result.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 19:49:20 +00:00
usa
9f31706636 * win32/win32.c (set_pioinfo_extra): use MSVCRT's open() and close().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 15:21:04 +00:00
usa
3c8dca55c4 * win32/win32.c, include/ruby/win32.h (rb_w32_open): overlapped file
I/O support.

	* win32/win32.c, include/ruby/win32.h (rb_w32_pipe): overlapped pipe
	  I/O support.

	* wn32/win32.c (rb_w32_read, rb_w32_write): overlapped I/O support to
	  enable canceling I/O.

	* thread_win32.c (ubf_handle): remove workaround.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 12:46:58 +00:00
usa
87746352f4 * win32.c (init_stdhandle): set binmode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-25 14:58:01 +00:00
nobu
0d0c147f23 * transcode.c (rb_econv_substr_append): fix for buffer overrun.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-25 08:34:32 +00:00
nobu
0d8df88893 * common.mk (parse.h): workaround for nmake.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-14 02:45:11 +00:00