aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp31
1 files changed, 7 insertions, 24 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 5df246e7f..2a1ee6017 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,7 +1,5 @@
-#define ALLOW_ARRAY_PROGRAMMING
// #define NO_ARRAY_BOUNDS_CHECK
-
#include "common.cpp"
#include "timings.cpp"
#include "build_settings.cpp"
@@ -248,6 +246,7 @@ bool parse_build_flags(Array<String> args) {
add_flag(&build_flags, BuildFlag_CrossLibDir, str_lit("cross-lib-dir"), BuildFlagParam_String);
+ GB_ASSERT(args.count >= 3);
Array<String> flag_args = args;
flag_args.data += 3;
flag_args.count -= 3;
@@ -296,29 +295,13 @@ bool parse_build_flags(Array<String> args) {
switch (bf.param_kind) {
default: ok = false; break;
case BuildFlagParam_Boolean: {
- if (param == "t") {
- value = exact_value_bool(true);
- } else if (param == "T") {
- value = exact_value_bool(true);
- } else if (param == "true") {
- value = exact_value_bool(true);
- } else if (param == "TRUE") {
- value = exact_value_bool(true);
- } else if (param == "True") {
- value = exact_value_bool(true);
- } else if (param == "1") {
+ if (str_eq_ignore_case(param, str_lit("t")) ||
+ str_eq_ignore_case(param, str_lit("true")) ||
+ param == "1") {
value = exact_value_bool(true);
- } else if (param == "f") {
- value = exact_value_bool(false);
- } else if (param == "F") {
- value = exact_value_bool(false);
- } else if (param == "false") {
- value = exact_value_bool(false);
- } else if (param == "FALSE") {
- value = exact_value_bool(false);
- } else if (param == "False") {
- value = exact_value_bool(false);
- } else if (param == "0") {
+ } else if (str_eq_ignore_case(param, str_lit("f")) ||
+ str_eq_ignore_case(param, str_lit("false")) ||
+ param == "0") {
value = exact_value_bool(false);
} else {
gb_printf_err("Invalid flag parameter for '%.*s' = '%.*s'\n", LIT(name), LIT(param));