summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/msgmerge.c15
-rw-r--r--src/poparser.c13
2 files changed, 28 insertions, 0 deletions
diff --git a/src/msgmerge.c b/src/msgmerge.c
index a82fab4..15a3e2e 100644
--- a/src/msgmerge.c
+++ b/src/msgmerge.c
@@ -66,6 +66,21 @@ size_t convert_buf(char* in, char* out) {
l++;
*out = '"';
break;
+ case '\v':
+ *out++ = '\\';
+ l++;
+ *out = '\v';
+ break;
+ case '\?':
+ *out++ = '\\';
+ l++;
+ *out = '\?';
+ break;
+ case '\f':
+ *out++ = '\\';
+ l++;
+ *out = '\f';
+ break;
default:
*out = *in;
}
diff --git a/src/poparser.c b/src/poparser.c
index 790e753..87d7a5c 100644
--- a/src/poparser.c
+++ b/src/poparser.c
@@ -30,6 +30,19 @@ static size_t convertbuf(char* in, char *out) {
case '"':
*out='"';
break;
+ case 'v':
+ *out='\v';
+ break;
+ case '\?':
+ *out = '\?';
+ break;
+ case 'f':
+ *out = '\f';
+ break;
+ case '\'':
+ *out = '\'';
+ break;
+ // FIXME add handling of hex and octal
default:
abort();
}