diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -7,6 +7,7 @@ #include <stdlib.h> #include <stdio.h> #include <string.h> +#include <rin/diagnostic.h> #include "io.h" #include "defs.h" @@ -24,24 +25,26 @@ int main(int argc, char **argv) { int ret = 0; - try_s((ret = parseargs(argc, argv, &settings)), out); + rin_diag_init(); + try_s((ret = parseargs(argc, argv, &settings)), early_out); if (settings.opmode == mode_generate) { file_in.name = randfile; file_in.out = -1; file_in.n = settings.to; - file_out.n = settings.to; } else { file_in.name = settings.filein; } file_out.name = settings.fileout ? settings.fileout : settings.filein; - try_s(( ret = stream_open(&file_in, &settings)) || - (ret = stream_open(&file_out, &settings)), out); + try_s((ret = stream_open(&file_in, &settings)), out); + file_out.n = file_in.n; + try_s((ret = stream_open(&file_out, &settings)), out); out: stream_close(&file_in); stream_close(&file_out); +early_out: return ret; } |