chiark / gitweb /
Implement SOA, RP, HINFO (but no mailbox quoting). Implement _finish.
[adns.git] / src / parse.c
index f2521d66ffcfad4d2b8d7ff6f99d1b69255623e6..388d09a6d771a30dbe12275bb7084859545d6278 100644 (file)
@@ -31,7 +31,7 @@ int vbuf__append_quoted1035(vbuf *vb, const byte *buf, int len) {
     for (i=0; i<len; i++) {
       ch= buf[i];
       if (ch == '.' || ch == '"' || ch == '(' || ch == ')' ||
-         ch == '@' || ch == ';' || ch == '$') {
+         ch == '@' || ch == ';' || ch == '$' || ch == '\\') {
        sprintf(qbuf,"\\%c",ch);
        break;
       } else if (ch <= ' ' || ch >= 127) {
@@ -41,7 +41,9 @@ int vbuf__append_quoted1035(vbuf *vb, const byte *buf, int len) {
     }
     if (!adns__vbuf_append(vb,buf,i) || !adns__vbuf_append(vb,qbuf,strlen(qbuf)))
       return 0;
-    buf+= i; len-= i;
+    if (i<len) i++;
+    buf+= i;
+    len-= i;
   }
   return 1;
 }