Commit Graph
29 Commits
Author SHA1 Message Date
Riyyi 592ee124cb Manager: Do not print debugging output on release mode 2022-01-31 20:42:17 +01:00
Riyyi 3efe74582f Util: Add ArgParser missing argument error message 2021-09-13 19:54:59 +02:00
Riyyi bb29919f02 Util: Simplify the logic of the long option parsing function 2021-09-13 17:42:34 +02:00
Riyyi 2ac6d24520 Util: Add type error messages to ArgParser option arguments 2021-09-13 16:19:49 +02:00
Riyyi 648c0f8c85 Util: Rename ArgParser error types 2021-09-13 15:22:12 +02:00
Riyyi 35e2c2de48 Util: Rename printOptionError -> printError 2021-09-13 15:17:37 +02:00
Riyyi ffcde408e1 Util: Add invalid argument type error message to ArgParser 2021-09-13 12:04:44 +02:00
Riyyi 9c918c6555 Util: Add ArgParser unhandled argument error type and messages 2021-09-13 04:04:02 +02:00
Riyyi a5d5d2ea6d Util: Fix nullptr derefencing
In order to compare strings, the STL has to dereference the data
pointer. So check if its not a nullptr first.
2021-09-13 03:59:51 +02:00
Riyyi 7759821b13 Util: Fix string_view substring selection
Unlike std::basic_string::data() and string literals, data() may return
a pointer to a buffer that is not null-terminated. Therefore it is
typically a mistake to pass data() to a routine that takes just a const
CharT* and expects a null-terminated string.

The bug was calling string_view .data() after calling substr() that ends
before the null terminator, as it will just return the entire
string_view.
2021-09-13 00:58:51 +02:00
Riyyi b6bfcbdc33 Util: Support for optional arguments in ArgParser 2021-09-09 15:14:17 +02:00
Riyyi ca95ef1cf1 Util: Add simple validation to ArgParser number conversions 2021-09-09 12:30:45 +02:00
Riyyi 6efa314c38 Util: Move ArgParser private function implementations to the bottom 2021-09-09 11:44:44 +02:00
Riyyi 4e30b58305 Util: Switch ArgParser option/argument creation to list initialization 2021-09-09 11:40:13 +02:00
Riyyi 0fffa86ba0 Util: Deduplicate ArgParser accept value lambdas 2021-09-09 11:23:13 +02:00
Riyyi 9cecb8602f Util: Add more ArgParser argument types 2021-09-09 00:12:06 +02:00
Riyyi 67fd31a746 Util: Add argument parsing to ArgParser 2021-09-08 23:46:10 +02:00
Riyyi dc4fcc10ce Util+Test: Implement exit on first error in main ArgParser loop 2021-09-07 18:14:14 +02:00
Riyyi f021cf0e15 Util: Fix parsing for exit on first error setting 2021-09-07 00:54:16 +02:00
Riyyi 3f1ced53f6 Util: Rename variable to plural 2021-09-07 00:20:29 +02:00
Riyyi f92b75a463 Util+Test: Add setting to stop parsing on first non-option 2021-09-06 20:37:39 +02:00
Riyyi a70d67f8fa Util: Don't try to parse a '--' parameter 2021-09-06 14:43:12 +02:00
Riyyi 072d805344 Util+Test: Add more ArgParser option types 2021-09-06 12:22:30 +02:00
Riyyi 98dec3e51a Util: Handle accepting values return state in ArgParser 2021-09-06 12:17:12 +02:00
Riyyi 1366bf14b1 Util+Test: Change size_type to size_t
The specialized size_type type is just an alias for size_t.
2021-09-06 01:59:08 +02:00
Riyyi 68cdd625b4 Util+Test: Add parsing of multi-value options 2021-09-06 00:08:04 +02:00
Riyyi a5c422a2cc Util+Test: Add support for '--' to enable non-option mode 2021-09-05 23:39:08 +02:00
Riyyi 04482fb10d Util: Return the result of the option parsing 2021-09-05 22:56:34 +02:00
Riyyi 8a1fb689bd Initial commit 2021-09-04 21:12:20 +02:00