]> andersk Git - moira.git/blobdiff - backup/dump_db.dc
finished & optimized script
[moira.git] / backup / dump_db.dc
index 6dc214ae539513cfd67575e4ccf35270022f75eb..1d4f15de7c5ec63972769be2f5cb8cf398974394 100644 (file)
@@ -20,6 +20,7 @@ static char *rcsid_dump_db_c = "$Header$";
 #include <sys/file.h>
 #include <ctype.h>
 #include <mit-copyright.h>
+EXEC SQL INCLUDE sqlca;
 #include "dump_db.h"
 
 /* putc without the line buffer hair */
@@ -30,7 +31,7 @@ static char *rcsid_dump_db_c = "$Header$";
 
 FILE *open_file();
 
-char act[128];
+char act[257];
 
 main(argc, argv)
     int argc;
@@ -40,26 +41,25 @@ main(argc, argv)
     register int i;
     
     if (argc != 2) {
-       fprintf(stderr, "Usage: smsbackup prefix\n");
+       fprintf(stderr, "Usage: %s prefix\n", argv[0]);
        exit(1);
     }
     prefix = argv[1];
 
-    bzero(act, 128);
+    bzero(act, 256);
 
+    for (i=0; i<' '; i++) act[i]=2;
+    for (i=128; i<256; i++) act[i]=2;
     act[SEP_CHAR]=1;
     act['\\']=1;
     act[127]=2;
-    for (i=0; i<' '; i++) act[i]=2;
     
-##  ingres sms 
-##  set lockmode session where level = table
-##  begin transaction
+    EXEC SQL CONNECT moira;
+    EXEC SQL set lockmode session where level = table;
 
     do_backups(prefix);
 
-##  end transaction    
-##  exit
+    EXEC SQL DISCONNECT;
     exit(0);
 }
 
@@ -84,10 +84,10 @@ dump_str(f, str)
     char  *strtrim();
     register char *ibp = strtrim(str);
     register int c;            /* PCC doesn't put chars in registers.. */
-    for (; c = *ibp; ibp++) {
-       c = toascii(c);         /* punt 8th bit */
+    register int t;
+
+    for (; c = (unsigned char) *ibp; ibp++) {
        switch(act[c]) {
-           register int t;
        case 1:
            if (putc1('\\', f) < 0) wpunt();
            /* fall thru.. */
@@ -103,7 +103,6 @@ dump_str(f, str)
            if (putc1(t,f) < 0) wpunt();
            t = (c&7) + '0';
            if (putc1(t,f) < 0) wpunt();
-           fprintf(stderr, "control character \\%03o\n", c);
            break;
            
        default:
This page took 1.105984 seconds and 4 git commands to generate.