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); \
|
||||
if (in.eof()) \
|
||||
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; \
|
||||
var = static_cast<char>(str.peek()); \
|
||||
|
|
@ -600,6 +609,15 @@ inline char peek_next_nonws(std::istream& in) {
|
|||
str.get(var); \
|
||||
if (in.eof()) \
|
||||
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++; \
|
||||
} \
|
||||
*_p++ = var; \
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue