mirror of
https://github.com/valitydev/osquery-1.git
synced 2024-11-08 10:23:54 +00:00
a67525fae1
Summary: Pull Request resolved: https://github.com/facebook/osquery/pull/5375 LICENSE is now defined in a single file on the root of the project, update the header to contain that information. **Project LICENSE did not change.** Reviewed By: akindyakov Differential Revision: D13750575 fbshipit-source-id: 1e608a81b260b8395f9d008fc67f463160c1fc2b
56 lines
1.1 KiB
C++
56 lines
1.1 KiB
C++
/**
|
|
* Copyright (c) 2014-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed as defined on the LICENSE file found in the
|
|
* root directory of this source tree.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <string>
|
|
|
|
namespace osquery {
|
|
|
|
/**
|
|
* @brief Check if a string is ASCII printable
|
|
*
|
|
* @param A string to check.
|
|
* @return If the string is printable.
|
|
*/
|
|
bool isPrintable(const std::string& check);
|
|
|
|
/**
|
|
* @brief In-line helper function for use with utf8StringSize
|
|
*/
|
|
template <typename _Iterator1, typename _Iterator2>
|
|
size_t incUtf8StringIterator(_Iterator1& it, const _Iterator2& last) {
|
|
if (it == last) {
|
|
return 0;
|
|
}
|
|
|
|
size_t res = 1;
|
|
for (++it; last != it; ++it, ++res) {
|
|
unsigned char c = *it;
|
|
if (!(c & 0x80) || ((c & 0xC0) == 0xC0)) {
|
|
break;
|
|
}
|
|
}
|
|
|
|
return res;
|
|
}
|
|
|
|
/**
|
|
* @brief Get the length of a UTF-8 string
|
|
*
|
|
* @param str The UTF-8 string
|
|
*
|
|
* @return the length of the string
|
|
*/
|
|
size_t utf8StringSize(const std::string& str);
|
|
|
|
/// Safely convert unicode escaped ASCII.
|
|
std::string unescapeUnicode(const std::string& escaped);
|
|
|
|
} // namespace osquery
|