1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-16 14:08:35 +08:00

cmListCommand: prefer strtol to atoi

This allows for detecting errors.
This commit is contained in:
Ben Boeckel
2021-02-16 10:14:36 -05:00
parent 9934a97642
commit 1f1fdff7fa

View File

@@ -4,9 +4,7 @@
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdio>
#include <cstdlib> // required for atoi
#include <functional>
#include <iterator>
#include <set>
@@ -38,8 +36,14 @@ namespace {
bool GetIndexArg(char const* arg, int* idx)
{
*idx = atoi(arg);
// Ignore errors.
long value;
if (!cmStrToLong(arg, &value)) {
// An error was detected.
}
// Truncation is happening here, but it had always been happening here.
*idx = static_cast<int>(value);
return true;
}