From 796f6146ab5a33e62c3d081af7687af2261cb8f9 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 17 Feb 2019 10:12:59 +0100 Subject: [PATCH] Rearange option parse loop --- Minetestmapper/Mapper.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/Minetestmapper/Mapper.cpp b/Minetestmapper/Mapper.cpp index 12d223e..a645dbd 100644 --- a/Minetestmapper/Mapper.cpp +++ b/Minetestmapper/Mapper.cpp @@ -124,16 +124,9 @@ int Mapper::start(int argc, char *argv[]) { struct parg_state ps; parg_init(&ps); - while (true) { - c = parg_getopt_long(&ps, argc, argv, "hi:o:", long_options, &option_index); - if (c == -1) { - if (input.empty() || output.empty()) { - std::cerr << "Input (world directory) or output (PNG filename) missing" << std::endl; - usage(); - return 0; - } - break; - } + + while ((c = parg_getopt_long(&ps, argc, argv, "hi:o:", long_options, &option_index)) != -1) { + switch (c) { case '?': if (option_index) { @@ -864,6 +857,12 @@ int Mapper::start(int argc, char *argv[]) { return EXIT_FAILURE; } } + + if (input.empty() || output.empty()) { + std::cerr << "Input (world directory) or output (PNG filename) missing" << std::endl; + usage(); + return 0; + } } catch (std::runtime_error e) { std::cout << "Command-line error: " << e.what() << std::endl;