diff options
-rw-r--r-- | ubi-utils/ubicrc32.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/ubi-utils/ubicrc32.c b/ubi-utils/ubicrc32.c index 0ea255d..885f348 100644 --- a/ubi-utils/ubicrc32.c +++ b/ubi-utils/ubicrc32.c @@ -89,19 +89,18 @@ int main(int argc, char * const argv[]) int err = 0; uint32_t crc = UBI_CRC32_INIT; char buf[BUFSIZE]; - FILE *fp; - - if (argc > 1) { - fp = fopen(argv[1], "r"); - if (!fp) - return sys_errmsg("cannot open \"%s\"", argv[1]); - } else - fp = stdin; + FILE *fp = stdin; err = parse_opt(argc, argv); if (err) return err; + if (optind < argc) { + fp = fopen(argv[optind], "r"); + if (!fp) + return sys_errmsg("cannot open \"%s\"", argv[1]); + } + while (!feof(fp)) { size_t read; |