Parse \n and such in all strings read with READ_INTO
This commit is contained in:
parent
b0f12c600c
commit
e182f01de1
1 changed files with 18 additions and 0 deletions
18
src/utils.h
18
src/utils.h
|
|
@ -580,6 +580,15 @@ inline char peek_next_nonws(std::istream& in) {
|
||||||
str.get(var); \
|
str.get(var); \
|
||||||
if (in.eof()) \
|
if (in.eof()) \
|
||||||
break; \
|
break; \
|
||||||
|
switch (var) { \
|
||||||
|
case 'b': var = '\b'; break; \
|
||||||
|
case 'f': var = '\f'; break; \
|
||||||
|
case 'n': var = '\n'; break; \
|
||||||
|
case 'r': var = '\r'; break; \
|
||||||
|
case 't': var = '\t'; break; \
|
||||||
|
case 'v': var = '\v'; break; \
|
||||||
|
default: break; \
|
||||||
|
} \
|
||||||
} \
|
} \
|
||||||
*_p++ = var; \
|
*_p++ = var; \
|
||||||
var = static_cast<char>(str.peek()); \
|
var = static_cast<char>(str.peek()); \
|
||||||
|
|
@ -600,6 +609,15 @@ inline char peek_next_nonws(std::istream& in) {
|
||||||
str.get(var); \
|
str.get(var); \
|
||||||
if (in.eof()) \
|
if (in.eof()) \
|
||||||
break; \
|
break; \
|
||||||
|
switch (var) { \
|
||||||
|
case 'b': var = '\b'; break; \
|
||||||
|
case 'f': var = '\f'; break; \
|
||||||
|
case 'n': var = '\n'; break; \
|
||||||
|
case 'r': var = '\r'; break; \
|
||||||
|
case 't': var = '\t'; break; \
|
||||||
|
case 'v': var = '\v'; break; \
|
||||||
|
default: break; \
|
||||||
|
} \
|
||||||
idx++; \
|
idx++; \
|
||||||
} \
|
} \
|
||||||
*_p++ = var; \
|
*_p++ = var; \
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue