diff options
-rw-r--r-- | src/tafreader.cpp | 6 | ||||
-rw-r--r-- | src/tafwriter.cpp | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/tafreader.cpp b/src/tafreader.cpp index 7b5e65d..db2e9f5 100644 --- a/src/tafreader.cpp +++ b/src/tafreader.cpp | |||
@@ -146,6 +146,12 @@ Bu::FString Bu::TafReader::readStr() | |||
146 | } | 146 | } |
147 | else if( c == '"' ) | 147 | else if( c == '"' ) |
148 | c = '"'; | 148 | c = '"'; |
149 | else if( c == '\\' ) | ||
150 | c = '\\'; | ||
151 | else if( c == 'n' ) | ||
152 | c = '\n'; | ||
153 | else if( c == 't' ) | ||
154 | c = '\t'; | ||
149 | else | 155 | else |
150 | throw TafException("Invalid escape sequence at %d:%d.", iLine, iCol ); | 156 | throw TafException("Invalid escape sequence at %d:%d.", iLine, iCol ); |
151 | } | 157 | } |
diff --git a/src/tafwriter.cpp b/src/tafwriter.cpp index 8dcde86..c30bc67 100644 --- a/src/tafwriter.cpp +++ b/src/tafwriter.cpp | |||
@@ -97,6 +97,8 @@ void Bu::TafWriter::writeString( const Bu::FString &str ) | |||
97 | { | 97 | { |
98 | if( *s == '\"' ) | 98 | if( *s == '\"' ) |
99 | sOut.write("\\\"", 2 ); | 99 | sOut.write("\\\"", 2 ); |
100 | else if( *s == '\\' ) | ||
101 | sOut.write("\\\\", 2 ); | ||
100 | else | 102 | else |
101 | sOut.write( s, 1 ); | 103 | sOut.write( s, 1 ); |
102 | } | 104 | } |