| |
| /pliant/language/ui/console.pli |
| |
| 1 |
submodule "/pliant/language/misc/hooks.pli" | |
| 2 |
| |
| 3 |
module "/pliant/language/unsafe.pli" | |
| 4 |
module "/pliant/language/context.pli" | |
| 5 |
module "/pliant/language/stream/light.pli" | |
| 6 |
module "/pliant/language/os.pli" | |
| 7 |
module "/pliant/admin/file.pli" | |
| 8 |
| |
| 9 |
if os_api="linux" or os_api="posix" | |
| 10 |
gvar Int old_handle := -1 | |
| 11 |
| |
| 12 |
function console_redirect name | |
| 13 |
arg Str name | |
| 14 |
if os_api="linux" or os_api="posix" | |
| 15 |
if old_handle=(-1) | |
| 16 |
old_handle := os_dup 1 | |
| 17 |
var Int handle := file_open file_os_name:name 2 | |
| 18 |
os_dup2 handle 1 | |
| 19 |
file_close handle | |
| 20 |
eif os_api="win32" | |
| 21 |
if win32_console_handle<>(-1) | |
| 22 |
file_close win32_console_handle | |
| 23 |
win32_console_handle := file_open file_os_name:name 2 | |
| 24 |
| |
| 25 |
function console_restore | |
| 26 |
if os_api="linux" or os_api="posix" | |
| 27 |
if old_handle<>(-1) | |
| 28 |
os_dup2 old_handle 1 | |
| 29 |
eif os_api="win32" | |
| 30 |
if win32_console_handle<>(-1) | |
| 31 |
file_close win32_console_handle | |
| 32 |
win32_console_handle := -1 | |
| 33 |
| |
| 34 |
export console_redirect console_restore | |
| |