X-Git-Url: https://git.draconx.ca/gitweb/cdecl99.git/blobdiff_plain/21434f681bfb00d9628c5253444c7f175746aed8..e858f29097fa175c861339a15c5e1f04ac511036:/t/normalize.c diff --git a/t/normalize.c b/t/normalize.c index 558f556..e309d70 100644 --- a/t/normalize.c +++ b/t/normalize.c @@ -1,6 +1,6 @@ /* * Helper application to test normalization of declaration specifiers. - * Copyright © 2021-2023 Nick Bowler + * Copyright © 2021-2024 Nick Bowler * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,10 +24,11 @@ #include "cdecl.h" #include "cdecl-internal.h" -#include "test.h" #define PROGNAME "normalize" -static const char *progname = PROGNAME; +#include "test.h" +#include "getline.h" + static const char sopts[] = "f:VH"; static const struct option lopts[] = { { "file", 1, NULL, 'f' }, @@ -191,17 +192,12 @@ int main(int argc, char **argv) } } - if (filename) { - infile = fopen(filename, "r"); - if (!infile) { - perror(filename); - return EXIT_FAILURE; - } + if (filename && !freopen(filename, "r", stdin)) { + print_error("%s: %s", filename, strerror(errno)); + return EXIT_FAILURE; } - while ((rc = getline(&line, &n, infile)) >= 0) { - if (rc > 0 && line[rc-1] == '\n') - line[rc-1] = 0; + while (do_getline(&line, &n)) { if (do_normalize(line, n) < 0) ret = EXIT_FAILURE; }