win32-open3 0.2.8-x86-mswin32-60 → 0.2.9-x86-mswin32-60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|