Merge topic 'file-STRINGS-isprint'

b872f5b303 file(STRINGS): Use isprint() to test character type

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2198
This commit is contained in:
Brad King
2018-07-11 11:22:25 +00:00
committed by Kitware Robot

View File

@@ -10,6 +10,7 @@
#include <algorithm>
#include <assert.h>
#include <ctype.h>
#include <memory> // IWYU pragma: keep
#include <sstream>
#include <stdio.h>
@@ -609,8 +610,8 @@ bool cmFileCommand::HandleStringsCommand(std::vector<std::string> const& args)
continue;
}
if ((c >= 0x20 && c < 0x7F) || c == '\t' ||
(c == '\n' && newline_consume)) {
if (c >= 0 && c <= 0xFF &&
(isprint(c) || c == '\t' || (c == '\n' && newline_consume))) {
// This is an ASCII character that may be part of a string.
// Cast added to avoid compiler warning. Cast is ok because
// c is guaranteed to fit in char by the above if...