refactor: use locale functions in command_line_args.cc (#29550)

This change refactors the code to use isalpha() and
isspace() so that the code is more readable.

Signed-off-by: Darshan Sen <raisinten@gmail.com>
This commit is contained in:
Darshan Sen 2021-06-14 17:31:00 +05:30 committed by GitHub
parent 34a4e26b24
commit 4b9e804b82
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3,13 +3,14 @@
// found in the LICENSE file.
#include "shell/app/command_line_args.h"
#include <locale>
namespace {
bool IsUrlArg(const base::CommandLine::CharType* arg) {
// the first character must be a letter for this to be a URL
auto c = *arg;
if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z')) {
if (std::isalpha(c, std::locale::classic())) {
for (auto* p = arg + 1; *p; ++p) {
c = *p;
@ -23,7 +24,7 @@ bool IsUrlArg(const base::CommandLine::CharType* arg) {
}
// white-space before a colon means it's not a URL
if (c == ' ' || (0x9 <= c && c <= 0xD))
if (std::isspace(c, std::locale::classic()))
break;
}
}