]> andersk Git - moira.git/blobdiff - server/qrtn.dc
fixup delete_nfs_physical
[moira.git] / server / qrtn.dc
index 3f64b8196a6ce9e32cc1fcb0fd23c3e00bfa13a1..f76e8df80a39ed9e499e0617457709d63ba4a51f 100644 (file)
@@ -29,7 +29,7 @@ char cdummy[MR_CDUMMY_LEN];
 char stmt_buf[MR_STMTBUF_LEN];
 EXEC SQL END DECLARE SECTION; 
 
-char *Argv[16];
+char *Argv[QMAXARGS];
 
 int ingres_errno = 0;
 int mr_errcode = 0;
@@ -77,7 +77,9 @@ void ingerr()
        break;
 /* These should never come up unless someone breaks the query table */
       case INGRES_NO_CURSOR:
-       mr_errcode = MR_INTERNAL;
+       if (mr_errcode != MR_BUSY &&
+           mr_errcode != MR_DEADLOCK)
+         mr_errcode = MR_INTERNAL;
        com_err(whoami, 0, "Cursor not opened");
        break;
       case INGRES_NO_STMT:
@@ -509,6 +511,8 @@ build_sort(v, sort)
 
 /* Build arguement vector, verify query and arguments */
 
+int privileged;
+
 mr_verify_query(cl, q, argc, argv_ro)
     client *cl;
     struct query *q;
@@ -519,9 +523,10 @@ mr_verify_query(cl, q, argc, argv_ro)
     register int status;
     register struct validate *v = q->validate;
     register int i;
-    register int privileged = 0;
     register char *to,*fr,*stop;
 
+    privileged = 0;
+
     /* copy the arguments into a local argv that we can modify */
     if (argc >= QMAXARGS)
       return(MR_ARGS);
@@ -564,7 +569,7 @@ mr_verify_query(cl, q, argc, argv_ro)
        if (status != MR_SUCCESS && status != MR_PERM)
            return(status);
        if (status == MR_SUCCESS)
-           privileged++;
+           return(MR_SUCCESS);
     }
 
     return(privileged ? MR_SUCCESS : MR_PERM);
This page took 0.035832 seconds and 4 git commands to generate.