summaryrefslogtreecommitdiffstats
path: root/stream.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2009-11-06 16:34:30 -0800
committerKaz Kylheku <kaz@kylheku.com>2009-11-06 16:34:30 -0800
commit2d9d9e5fb0fe70a195a74fd7a3f32f4ff5d22bf0 (patch)
tree6493a6d6fcc6654a25570a1f623a0d2c7436dece /stream.h
parent3d38f312065003330f2f9c6f504f0e634ba2a5b6 (diff)
downloadtxr-2d9d9e5fb0fe70a195a74fd7a3f32f4ff5d22bf0.tar.gz
txr-2d9d9e5fb0fe70a195a74fd7a3f32f4ff5d22bf0.tar.bz2
txr-2d9d9e5fb0fe70a195a74fd7a3f32f4ff5d22bf0.zip
Throw exception on stream error during close, or I/O operations. This
is needed for pipes that terminate abnormally or return failed termination. Pipe and stdio streams have an extra description field so they are printed in a readable way.
Diffstat (limited to 'stream.h')
-rw-r--r--stream.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/stream.h b/stream.h
index 2be353f3..ba483b27 100644
--- a/stream.h
+++ b/stream.h
@@ -26,13 +26,13 @@
extern obj_t *std_input, *std_output, *std_error;
-obj_t *make_stdio_stream(FILE *, obj_t *input, obj_t *output);
-obj_t *make_pipe_stream(FILE *, obj_t *input, obj_t *output);
+obj_t *make_stdio_stream(FILE *, obj_t *descr, obj_t *input, obj_t *output);
+obj_t *make_pipe_stream(FILE *, obj_t *descr, obj_t *input, obj_t *output);
obj_t *make_string_input_stream(obj_t *);
obj_t *make_string_output_stream(void);
obj_t *get_string_from_stream(obj_t *);
obj_t *make_dir_stream(DIR *);
-obj_t *close_stream(obj_t *);
+obj_t *close_stream(obj_t *stream, obj_t *throw_on_error);
obj_t *get_line(obj_t *);
obj_t *get_char(obj_t *);
obj_t *vformat(obj_t *stream, const char *string, va_list); /* nao-terminated */