win32-open3 0.2.8-x86-mswin32-60 → 0.2.9-x86-mswin32-60
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +7 -2
- data/ext/win32/open3.c +15 -15
- data/lib/win32/open3.so +0 -0
- metadata +3 -3
data/CHANGES
CHANGED
@@ -1,10 +1,15 @@
|
|
1
|
-
== 0.2.
|
1
|
+
== 0.2.9 - 8-Mar-2009
|
2
|
+
* Fixed a bug within an internal function that could cause an exception.
|
3
|
+
Thanks go to Ross Bunker for the spot and patch.
|
4
|
+
* Fixed the release dates for 0.2.7 and 0.2.8 (2009, not 2008).
|
5
|
+
|
6
|
+
== 0.2.8 - 27-Feb-2009
|
2
7
|
* Fixed a potential bug where nil might be returned instead of an actual
|
3
8
|
Process::Status object. Thanks go to Benny Bach for the spot.
|
4
9
|
* The 'test' Rake task now runs the 'clean' task after the fact.
|
5
10
|
* Some updates to the README about precompiled binaries.
|
6
11
|
|
7
|
-
== 0.2.7 - 11-Jan-
|
12
|
+
== 0.2.7 - 11-Jan-2009
|
8
13
|
* Fixed a bug that could cause exitstatus to return bogus information. Thanks
|
9
14
|
go to Roman Zawada for the spot.
|
10
15
|
* Added a 'build_binary_gem' Rake task.
|
data/ext/win32/open3.c
CHANGED
@@ -74,7 +74,7 @@ static char* rb_io_modenum_mode(int flags, char* mode){
|
|
74
74
|
}
|
75
75
|
else{
|
76
76
|
mode[1] = 'b'; mode[2] = '\0';
|
77
|
-
}
|
77
|
+
}
|
78
78
|
}
|
79
79
|
#endif
|
80
80
|
return mode;
|
@@ -96,15 +96,15 @@ static VALUE io_close(VALUE val) {
|
|
96
96
|
* call-seq:
|
97
97
|
* Open3.popen3(cmd, mode='t', show=false)
|
98
98
|
* Open3.popen3(cmd, mode='t', show=false){ |io_in, io_out, io_err| ... }
|
99
|
-
*
|
99
|
+
*
|
100
100
|
* Executes 'command', returning an array of three IO handles representing
|
101
101
|
* STDIN, STDOUT and STDERR, respectively. In block form these IO handles
|
102
102
|
* are yielded back to the block and automatically closed at the end of the
|
103
103
|
* block.
|
104
|
-
*
|
104
|
+
*
|
105
105
|
* You may optionally pass a mode flag of 't' (text, the default) or 'b'
|
106
106
|
* (binary) to this method.
|
107
|
-
*
|
107
|
+
*
|
108
108
|
* If the 'show' variable is set to true, then a console window is shown.
|
109
109
|
*/
|
110
110
|
static VALUE win32_popen3(int argc, VALUE *argv, VALUE klass)
|
@@ -133,13 +133,13 @@ static VALUE win32_popen3(int argc, VALUE *argv, VALUE klass)
|
|
133
133
|
tm = _O_BINARY;
|
134
134
|
|
135
135
|
v_port = ruby_popen(StringValuePtr(v_name), tm, v_show_window);
|
136
|
-
|
136
|
+
|
137
137
|
// Ensure handles are closed in block form
|
138
138
|
if(rb_block_given_p()){
|
139
139
|
rb_ensure(rb_yield_splat, v_port, io_close, v_port);
|
140
140
|
return win32_last_status;
|
141
141
|
}
|
142
|
-
|
142
|
+
|
143
143
|
return v_port;
|
144
144
|
}
|
145
145
|
|
@@ -168,7 +168,7 @@ static BOOL RubyCreateProcess(char *cmdstring, HANDLE hStdin, HANDLE hStdout,
|
|
168
168
|
|
169
169
|
++comshell;
|
170
170
|
|
171
|
-
// Windows 95, 98 and ME are not supported
|
171
|
+
// Windows 95, 98 and ME are not supported
|
172
172
|
if(GetVersion() < 0x80000000 && _stricmp(comshell, "command.com") != 0){
|
173
173
|
x = i + strlen(s3) + strlen(cmdstring) + 1;
|
174
174
|
s2 = ALLOCA_N(char, x);
|
@@ -246,7 +246,7 @@ static BOOL RubyCreateProcess(char *cmdstring, HANDLE hStdin, HANDLE hStdout,
|
|
246
246
|
rb_raise(rb_eRuntimeError, "CreateProcess() failed: %s",
|
247
247
|
ErrorDescription(GetLastError())
|
248
248
|
);
|
249
|
-
|
249
|
+
|
250
250
|
return FALSE;
|
251
251
|
}
|
252
252
|
|
@@ -281,9 +281,9 @@ static void win32_pipe_finalize(OpenFile *file, int noraise)
|
|
281
281
|
|
282
282
|
if(pid_handle != NULL){
|
283
283
|
GetExitCodeProcess(pid_handle, &status);
|
284
|
-
CloseHandle(pid_handle);
|
285
284
|
|
286
285
|
if(status != STILL_ACTIVE){
|
286
|
+
CloseHandle(pid_handle);
|
287
287
|
pid_handle = NULL;
|
288
288
|
win32_set_last_status(status, file->pid);
|
289
289
|
}
|
@@ -522,7 +522,7 @@ static VALUE ruby_popen(char *cmdstring, int mode, VALUE v_show_window)
|
|
522
522
|
ErrorDescription(GetLastError())
|
523
523
|
);
|
524
524
|
}
|
525
|
-
|
525
|
+
|
526
526
|
return port;
|
527
527
|
}
|
528
528
|
|
@@ -533,15 +533,15 @@ static VALUE ruby_popen(char *cmdstring, int mode, VALUE v_show_window)
|
|
533
533
|
void Init_open3()
|
534
534
|
{
|
535
535
|
VALUE mOpen3 = rb_define_module("Open3");
|
536
|
-
|
536
|
+
|
537
537
|
VALUE mOpen4 = rb_define_module("Open4");
|
538
538
|
|
539
539
|
rb_define_module_function(mOpen3, "popen3", win32_popen3, -1);
|
540
540
|
rb_define_module_function(mOpen4, "popen4", win32_popen3, -1);
|
541
|
-
|
542
|
-
/* 0.2.
|
541
|
+
|
542
|
+
/* 0.2.9: The version of this library */
|
543
543
|
rb_define_const(mOpen3, "WIN32_OPEN3_VERSION", rb_str_new2(WIN32_OPEN3_VERSION));
|
544
|
-
|
545
|
-
/* 0.2.
|
544
|
+
|
545
|
+
/* 0.2.9: The version of this library */
|
546
546
|
rb_define_const(mOpen4, "WIN32_OPEN3_VERSION", rb_str_new2(WIN32_OPEN3_VERSION));
|
547
547
|
}
|
data/lib/win32/open3.so
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: win32-open3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.9
|
5
5
|
platform: x86-mswin32-60
|
6
6
|
authors:
|
7
7
|
- Park Heesob
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-
|
13
|
+
date: 2009-03-07 23:00:00 -07:00
|
14
14
|
default_executable:
|
15
15
|
dependencies: []
|
16
16
|
|
@@ -54,7 +54,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
54
54
|
requirements: []
|
55
55
|
|
56
56
|
rubyforge_project: win32utils
|
57
|
-
rubygems_version: 1.3.
|
57
|
+
rubygems_version: 1.3.1
|
58
58
|
signing_key:
|
59
59
|
specification_version: 2
|
60
60
|
summary: Provides an Open3.popen3 implementation for MS Windows
|