mc2: 0x006131E0
| 34 | |
| 35 | // mc2: 0x006131E0 |
| 36 | void parse_commandline(std::int32_t argc, char **argv) { |
| 37 | if (argc != 0 && argv != nullptr) global_exe_name = argv[0]; |
| 38 | else global_exe_name = "unknown"; |
| 39 | if (argc <= 1) return; |
| 40 | |
| 41 | bool c = false; |
| 42 | for (std::int32_t i = 1; i < argc; ++i) { |
| 43 | if (strcmp(argv[i], "-help") == 0) print_help(); |
| 44 | else if (argv[i][0] == '-' && (argv[i][1] < '0' || argv[i][1] > '9')) { |
| 45 | c = true; |
| 46 | for (cmdline_info &x : global_cmdline) { |
| 47 | if (x.index == 0) { |
| 48 | std::uint32_t namelen = std::strlen(x.name); |
| 49 | if (std::strncmp(argv[i] + 1, x.name, namelen) == 0) { |
| 50 | if (argv[i][namelen + 1] == '\0') { |
| 51 | if (i == argc - 1 || (argv[i + 1][0] == '-' && |
| 52 | (argv[i + 1][1] < '0' || argv[i + 1][1] > '9'))) |
| 53 | x.value = ""; |
| 54 | else x.value = argv[i + 1]; |
| 55 | } else if (argv[i][namelen + 1] == '=') { |
| 56 | x.value = &argv[i][namelen + 2]; |
| 57 | } |
| 58 | } |
| 59 | } |
| 60 | } |
| 61 | } else if (!c) { |
| 62 | for (cmdline_info &x : global_cmdline) |
| 63 | if (x.index == i) x.value = argv[i]; |
| 64 | } |
| 65 | } |
| 66 | } |
| 67 | |
| 68 | // mc2: 0x00612FB0 |
| 69 | void print_help() { |
no test coverage detected