Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions include/dpp/stringops.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

#pragma once
#include <string>
#include <cctype>
#include <iomanip>
#include <locale>
#include <algorithm>
Expand All @@ -42,7 +43,7 @@ namespace dpp {
template <typename T> std::basic_string<T> lowercase(const std::basic_string<T>& s)
{
std::basic_string<T> s2 = s;
std::transform(s2.begin(), s2.end(), s2.begin(), tolower);
std::transform(s2.begin(), s2.end(), s2.begin(), [](unsigned char c){ return std::tolower(c); });
return s2;
}

Expand All @@ -56,7 +57,7 @@ template <typename T> std::basic_string<T> lowercase(const std::basic_string<T>&
template <typename T> std::basic_string<T> uppercase(const std::basic_string<T>& s)
{
std::basic_string<T> s2 = s;
std::transform(s2.begin(), s2.end(), s2.begin(), toupper);
std::transform(s2.begin(), s2.end(), s2.begin(), [](unsigned char c){ return std::toupper(c); });
return s2;
}

Expand Down
4 changes: 2 additions & 2 deletions src/dpp/cluster/confirmation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ std::vector<error_detail> find_errors_in_object(const std::string& obj, const st

if (obj.empty()) {
field = current_field;
} else if (isdigit(*current_field.c_str())) {
} else if (isdigit(static_cast<unsigned char>(*current_field.c_str()))) {
/* An element of an array, e.g. an element of a slash command vector for global_bulk_slash_command_create */
field = obj;
field += '[';
Expand Down Expand Up @@ -130,7 +130,7 @@ error_info confirmation_callback_t::get_error() const {
json &errors = j["errors"];
for (auto obj = errors.begin(); obj != errors.end(); ++obj) {
std::vector<error_detail> sub_errors;
std::string field = isdigit(*obj.key().c_str()) ? "<array>[" + obj.key() + "]" : obj.key();
std::string field = isdigit(static_cast<unsigned char>(*obj.key().c_str())) ? "<array>[" + obj.key() + "]" : obj.key();

sub_errors = find_errors_in_object({}, field, *obj);

Expand Down