fix <process-stream> memory corruption error
parent
6a69c77574
commit
147b13e32e
|
@ -1,12 +1,21 @@
|
|||
IN: process
|
||||
USING: compiler io io-internals kernel parser ;
|
||||
USING: compiler io io-internals kernel parser generic ;
|
||||
|
||||
FUNCTION: int system ( char* command ) ;
|
||||
|
||||
FUNCTION: void* popen ( char* command, char* type ) ;
|
||||
FUNCTION: int pclose ( void* file ) ;
|
||||
|
||||
: <process-stream> ( command mode -- stream )
|
||||
popen dup <c-stream> ;
|
||||
TUPLE: process-stream pipe ;
|
||||
|
||||
C: process-stream ( command mode -- stream )
|
||||
>r popen dup r>
|
||||
[ set-process-stream-pipe ] keep
|
||||
>r dup <duplex-c-stream> r>
|
||||
[ set-delegate ] keep ;
|
||||
|
||||
M: process-stream stream-close
|
||||
process-stream-pipe [ pclose drop ] when* ;
|
||||
|
||||
: !" parse-string system drop ; parsing
|
||||
|
||||
|
|
Loading…
Reference in New Issue