#include "dk4strm.h" #include "dk4strmf.h" #include "dk4fopc8.h" #include $!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; }