]> andersk Git - moira.git/blobdiff - backup/dump_db.dc
handle signature as binary field
[moira.git] / backup / dump_db.dc
index 1d4f15de7c5ec63972769be2f5cb8cf398974394..f915e8a0b2ebdb6d76cf5e30acead1493ff7ea5f 100644 (file)
@@ -111,6 +111,39 @@ dump_str(f, str)
     }
 }
 
+dump_bin(f, str)
+    register FILE *f;
+    register char *str;
+{
+    register char *ibp = str;
+    register int c;            /* PCC doesn't put chars in registers.. */
+    register int t;
+
+    for (; c = (unsigned char) *ibp; ibp++) {
+       switch(act[c]) {
+       case 1:
+           if (putc1('\\', f) < 0) wpunt();
+           /* fall thru.. */
+       case 0:
+           if (putc1(c, f) < 0) wpunt();
+           
+           break;
+       case 2:
+           if (putc1('\\', f) < 0) wpunt();        
+           t = ((c>>6)&7) + '0';
+           if (putc1(t,f) < 0) wpunt();
+           t = ((c>>3)&7) + '0';
+           if (putc1(t,f) < 0) wpunt();
+           t = (c&7) + '0';
+           if (putc1(t,f) < 0) wpunt();
+           break;
+           
+       default:
+           punt("Can't get here");
+       }
+    }
+}
+
 safe_close(stream)
        FILE *stream;
 {
This page took 0.02547 seconds and 4 git commands to generate.