mirror of
https://github.com/red0124/ssp.git
synced 2025-01-23 13:05:20 +01:00
Fix bug where the parsing of data containing escaped new lines within quotes would produce bad outputs
This commit is contained in:
parent
f58091cf02
commit
27ef7f2e21
@ -600,6 +600,8 @@ private:
|
|||||||
|
|
||||||
if constexpr (quoted_multiline_enabled) {
|
if constexpr (quoted_multiline_enabled) {
|
||||||
while (unterminated_quote()) {
|
while (unterminated_quote()) {
|
||||||
|
size -= next_line_converter_.size_shifted();
|
||||||
|
|
||||||
if (multiline_limit_reached(limit)) {
|
if (multiline_limit_reached(limit)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -665,9 +667,6 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void undo_remove_eol(char* buffer, size_t& string_end) {
|
void undo_remove_eol(char* buffer, size_t& string_end) {
|
||||||
if (next_line_converter_.unterminated_quote()) {
|
|
||||||
string_end -= next_line_converter_.size_shifted();
|
|
||||||
}
|
|
||||||
if (crlf_) {
|
if (crlf_) {
|
||||||
std::copy_n("\r\n\0", 3, buffer + string_end);
|
std::copy_n("\r\n\0", 3, buffer + string_end);
|
||||||
string_end += 2;
|
string_end += 2;
|
||||||
|
5
ssp.hpp
5
ssp.hpp
@ -2792,6 +2792,8 @@ private:
|
|||||||
|
|
||||||
if constexpr (quoted_multiline_enabled) {
|
if constexpr (quoted_multiline_enabled) {
|
||||||
while (unterminated_quote()) {
|
while (unterminated_quote()) {
|
||||||
|
size -= next_line_converter_.size_shifted();
|
||||||
|
|
||||||
if (multiline_limit_reached(limit)) {
|
if (multiline_limit_reached(limit)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -2857,9 +2859,6 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void undo_remove_eol(char* buffer, size_t& string_end) {
|
void undo_remove_eol(char* buffer, size_t& string_end) {
|
||||||
if (next_line_converter_.unterminated_quote()) {
|
|
||||||
string_end -= next_line_converter_.size_shifted();
|
|
||||||
}
|
|
||||||
if (crlf_) {
|
if (crlf_) {
|
||||||
std::copy_n("\r\n\0", 3, buffer + string_end);
|
std::copy_n("\r\n\0", 3, buffer + string_end);
|
||||||
string_end += 2;
|
string_end += 2;
|
||||||
|
Loading…
Reference in New Issue
Block a user