diff options
Diffstat (limited to 'support/dktools/test-dk4strm.ctr')
-rw-r--r-- | support/dktools/test-dk4strm.ctr | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/support/dktools/test-dk4strm.ctr b/support/dktools/test-dk4strm.ctr new file mode 100644 index 0000000000..e269597891 --- /dev/null +++ b/support/dktools/test-dk4strm.ctr @@ -0,0 +1,63 @@ + +#include "dk4strm.h" +#include "dk4strmf.h" +#include "dk4fopc8.h" +#include <stdio.h> + + + +$!trace-include + + + + +int main(int argc, char *argv[]) +{ + FILE *fipo; + dk4_stream_t *outstrm; + dk4_stream_t *instrm; + dk4_er_t er; + char c; + $!trace-init "test-dk4strm.deb" + $? "+ main" + if (1 < argc) { + dk4error_init(&er); + fipo = dk4fopen_c8(argv[1], "w", 0, &er); + if (NULL != fipo) { + dk4error_init(&er); + instrm = dk4stream_open_for_file(stdin, DK4_STREAM_READ, 4096, 0, &er); + if (NULL != instrm) { + outstrm = dk4stream_open_for_file(fipo, DK4_STREAM_WRITE, 0, 4096, &er); + if (NULL != outstrm) { + while (dk4stream_c8_read_byte(&c, instrm, &er)) { + dk4stream_write_byte(outstrm, (char)c, &er); + } + (void)dk4stream_close(outstrm, &er); + } + (void)dk4stream_close(instrm, &er); + } + fclose(fipo); + } else { + fprintf(stderr, "Failed to open file %d %d\n", er.ec, er.dt.iDetails1); + } + } else { + dk4error_init(&er); + instrm = dk4stream_open_for_file(stdin, DK4_STREAM_READ, 4096, 0, &er); + if (NULL != instrm) { $? ". instream ok" + outstrm = dk4stream_open_for_file(stdout, DK4_STREAM_WRITE, 0, 4096, &er); + if (NULL != outstrm) { $? ". outstream ok" + while (dk4stream_c8_read_byte(&c, instrm, &er)) { + dk4stream_write_byte(outstrm, (char)c, &er); + } + dk4stream_close(outstrm, &er); + } + dk4stream_close(instrm, &er); + } + } + $? "- main" + $!trace-end + fprintf(stderr, "Error code: %d\n", er.ec); + return 0; +} + + |