From cfc806500d6b39af3a803dcc51c492d686e58085 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?U-WIN-U2045GN0RNQ=5CV=C3=ADtor=20Santos=20Costa?= Date: Tue, 8 Mar 2011 00:07:08 +0000 Subject: [PATCH] fix popen definition. --- library/system.yap | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) mode change 100644 => 100755 library/system.yap diff --git a/library/system.yap b/library/system.yap old mode 100644 new mode 100755 index 61e4461a0..455e43d5e --- a/library/system.yap +++ b/library/system.yap @@ -323,28 +323,9 @@ close_temp_streams([]). close_temp_streams([S|Ss]) :- close(S), close_temp_streams(Ss). - popen(Command, Mode, Stream) :- - G = popen(Command, Mode, Stream), - check_command_with_default_shell(Command, TrueCommand, G), - check_mode(Mode, M, G), - do_popen(TrueCommand, M, Stream, Result), - handle_system_error(Result, off, G). + open(pipe(Command), Mode, Stream). -do_popen(Command, M, Stream, Result) :- win, !, - win_popen(M, Command, Stream, Result). -do_popen(Command, M, Stream, Result) :- - popen(Command, M, Stream, Result). - -win_popen(0, Command, ForReading, Result) :- - open_pipe_streams(ForReading, ForWriting), - exec_command(Command, 0, ForWriting, 2, _, Result), - close(ForWriting). -win_popen(1, Command, ForWriting, Result) :- - open_pipe_streams(ForReading, ForWriting), - exec_command(Command, ForReading, 1, 2, _, Result), - close(ForReading). - check_command_with_default_shell(Com, ComF, G) :- check_command(Com, G), os_command_postprocess(Com, ComF).