Skip all whitespace characters

This also removes spaces and tabs in addtions to newlines.
This commit is contained in:
Stefan Reinhold 2018-08-31 11:22:42 +02:00
parent 256065f957
commit 15178cb4a0

View File

@ -1,5 +1,7 @@
#include "yaml-cpp/binary.h" #include "yaml-cpp/binary.h"
#include <ctype.h>
namespace YAML { namespace YAML {
static const char encoding[] = static const char encoding[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
@ -73,7 +75,7 @@ std::vector<unsigned char> DecodeBase64(const std::string &input) {
unsigned value = 0; unsigned value = 0;
for (std::size_t i = 0, cnt = 0; i < input.size(); i++) { for (std::size_t i = 0, cnt = 0; i < input.size(); i++) {
if (input[i] == '\n' || input[i] == '\r') continue; // skip newlines if (isspace(input[i])) continue; // skip newlines
unsigned char d = decoding[static_cast<unsigned>(input[i])]; unsigned char d = decoding[static_cast<unsigned>(input[i])];
if (d == 255) if (d == 255)
return ret_type(); return ret_type();