From 69f18d6817f1665a3c792af9c017bb9e3edf89ad Mon Sep 17 00:00:00 2001 From: Manuel Weichselbaumer Date: Fri, 24 Dec 2021 15:07:45 +0100 Subject: [PATCH] Fix uncaught exception on machines with no locales set --- loguru.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/loguru.cpp b/loguru.cpp index a0f1241..0ac60bc 100644 --- a/loguru.cpp +++ b/loguru.cpp @@ -470,7 +470,13 @@ namespace loguru for (int arg_it = 1; arg_it < argc; ++arg_it) { auto cmd = argv[arg_it]; auto arg_len = strlen(verbosity_flag); - if (strncmp(cmd, verbosity_flag, arg_len) == 0 && !std::isalpha(cmd[arg_len], std::locale(""))) { + bool is_alpha; + try { + is_alpha = std::isalpha(cmd[arg_len], std::locale("")); + } catch (...) { + is_alpha = std::isalpha(cmd[arg_len]); + } + if (strncmp(cmd, verbosity_flag, arg_len) == 0 && !is_alpha) { out_argc -= 1; auto value_str = cmd + arg_len; if (value_str[0] == '\0') {