From: danw Date: Mon, 5 Jan 1998 14:59:11 +0000 (+0000) Subject: Rewrite functions to avoid having SQL DECLARE SECTIONs around function X-Git-Url: http://andersk.mit.edu/gitweb/moira.git/commitdiff_plain/9450827a25372915f1bd6bcc1a54238415e5e6cc Rewrite functions to avoid having SQL DECLARE SECTIONs around function arguments. (preparation for ANSI function declarations) --- diff --git a/dbck/phase2.pc b/dbck/phase2.pc index f63fc562..b6e55e08 100644 --- a/dbck/phase2.pc +++ b/dbck/phase2.pc @@ -220,8 +220,8 @@ maybe_fixup_modby(sid, oid, oname, table, field, idfield) printf("%s entry %s(%d) has a %s with non-existant user %d\n", table, oname, oid, field, sid); if (single_fix("Delete", 1)) { - sprintf(stmt_buf, "UPDATE %s SET %s = %d WHERE %s=%d", - table, field, 0, idfield, oid); + sprintf(stmt_buf, "UPDATE %s SET %s = 0 WHERE %s = %d", + table, field, idfield, oid); EXEC SQL EXECUTE IMMEDIATE :stmt_buf; rowcount = sqlca.sqlerrd[2]; if (rowcount == 1) @@ -290,8 +290,8 @@ maybe_fixup_modby2(table, field, cursor, id) printf("%s entry has a %s with non-existant user %d\n", table, field, id); if (single_fix("Delete", 1)) { - sprintf(stmt_buf, "UPDATE %s SET %s = %d WHERE CURRENT OF %s", - table, field, 0, cursor); + sprintf(stmt_buf, "UPDATE %s SET %s = 0 WHERE CURRENT OF %s", + table, field, cursor); EXEC SQL EXECUTE IMMEDIATE :stmt_buf; rowcount = sqlca.sqlerrd[2]; if (rowcount == 1) @@ -736,16 +736,14 @@ int id; del_mem_user(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int rowcount; + int iid = id, rowcount; EXEC SQL END DECLARE SECTION; EXEC SQL DELETE FROM imembers WHERE member_type='USER' AND - member_id = :id AND direct = 1; + member_id = :iid AND direct = 1; rowcount = sqlca.sqlerrd[2]; if (rowcount > 0) printf("%d entr%s deleted\n", rowcount, rowcount==1?"y":"ies"); @@ -755,16 +753,14 @@ EXEC SQL END DECLARE SECTION; } del_mem_list(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int rowcount; + int iid = id, rowcount; EXEC SQL END DECLARE SECTION; EXEC SQL DELETE FROM imembers WHERE member_type='LIST' AND - member_id = :id AND direct=1; + member_id = :iid AND direct=1; rowcount = sqlca.sqlerrd[2]; if (rowcount > 0) printf("%d entr%s deleted\n", rowcount, rowcount==1?"y":"ies"); @@ -774,16 +770,14 @@ EXEC SQL END DECLARE SECTION; } del_mem_str(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int rowcount; + int iid = id, rowcount; EXEC SQL END DECLARE SECTION; EXEC SQL DELETE FROM imembers WHERE member_type='STRING' AND - member_id = :id AND direct=1; + member_id = :iid AND direct=1; rowcount = sqlca.sqlerrd[2]; if (rowcount > 0) printf("%d entr%s deleted\n", rowcount, rowcount==1?"y":"ies"); @@ -794,16 +788,14 @@ EXEC SQL END DECLARE SECTION; del_mem_krb(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int rowcount; + int iid = id, rowcount; EXEC SQL END DECLARE SECTION; EXEC SQL DELETE FROM imembers WHERE member_type='KERBEROS' AND - member_id = :id AND direct=1; + member_id = :iid AND direct=1; rowcount = sqlca.sqlerrd[2]; if (rowcount > 0) printf("%d entr%s deleted\n", rowcount, rowcount==1?"y":"ies"); @@ -814,18 +806,17 @@ EXEC SQL END DECLARE SECTION; show_sh(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; char name[33]; + int iid = id; EXEC SQL END DECLARE SECTION; int found = 1; EXEC SQL DECLARE csr209 CURSOR FOR SELECT service FROM serverhosts - WHERE mach_id = :id; + WHERE mach_id = :iid; EXEC SQL OPEN csr209; while(1) { EXEC SQL FETCH csr209 INTO :name; @@ -840,15 +831,13 @@ EXEC SQL END DECLARE SECTION; } del_sh_mach(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int rowcount; + int iid = id, rowcount; EXEC SQL END DECLARE SECTION; - EXEC SQL DELETE FROM serverhosts WHERE mach_id = :id; + EXEC SQL DELETE FROM serverhosts WHERE mach_id = :iid; rowcount = sqlca.sqlerrd[2]; if (rowcount > 0) printf("%d entr%s deleted\n", rowcount, rowcount==1?"y":"ies"); @@ -875,14 +864,12 @@ struct filesys *f; check_fs(id, f, hint) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; register struct filesys *f; int hint; { EXEC SQL BEGIN DECLARE SECTION; - int id1, id2, id3, rowcount; + int iid = id, id1, id2, id3, rowcount; char *dir; EXEC SQL END DECLARE SECTION; struct nfsphys *n; @@ -891,7 +878,7 @@ int hint; if (!hash_lookup(machines, f->mach_id)) { printf("Filesys %s with bad machine %d\n", f->name, f->mach_id); if (single_fix("Fix", 0)) { - EXEC SQL UPDATE filesys SET mach_id = 0 WHERE filsys_id = :id; + EXEC SQL UPDATE filesys SET mach_id = 0 WHERE filsys_id = :iid; rowcount = sqlca.sqlerrd[2]; if (rowcount > 0) printf("%d entr%s fixed\n",rowcount, rowcount==1?"y":"ies"); @@ -953,7 +940,7 @@ int hint; printf("Unable to retrieve unique ID\n"); return; } - EXEC SQL INSERT INTO mfsphys (mfsphys_id, mach_id, + EXEC SQL INSERT INTO nfsphys (nfsphys_id, mach_id, device, dir, status, allocated, size, modtime, modby, modwith) VALUES (:id1, :id3, '\?\?\?', :dir, 0, 0, 0, SYSDATE, 0, 'dbck'); @@ -1006,18 +993,16 @@ int hint; } show_fsg_missing(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int id1, found = 1; + int iid = id, id1, found = 1; EXEC SQL END DECLARE SECTION; struct filesys *f; EXEC SQL DECLARE csr210 CURSOR FOR SELECT filsys_id FROM fsgroup - WHERE group_id = :id; + WHERE group_id = :iid; EXEC SQL OPEN csr210; while(1) { EXEC SQL FETCH csr210 INTO :id1; @@ -1081,18 +1066,16 @@ struct filesys *f; } show_fsg_nomember(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int id1, found = 1; + int iid = id, id1, found = 1; EXEC SQL END DECLARE SECTION; struct filesys *f; EXEC SQL DECLARE csr211 CURSOR FOR SELECT group_id FROM fsgroup - WHERE filsys_id = :id; + WHERE filsys_id = :iid; EXEC SQL OPEN csr211; while(1) { EXEC SQL FETCH csr211 INTO :id1; @@ -1109,17 +1092,15 @@ EXEC SQL END DECLARE SECTION; } show_quota_nouser(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int id1, found = 1; + int iid = id, id1, found = 1; EXEC SQL END DECLARE SECTION; EXEC SQL DECLARE csr212 CURSOR FOR SELECT filsys_id FROM quota - WHERE entity_id = :id AND type='USER'; + WHERE entity_id = :iid AND type='USER'; EXEC SQL OPEN csr212; while(1) { EXEC SQL FETCH csr212 INTO :id1; @@ -1133,17 +1114,15 @@ EXEC SQL END DECLARE SECTION; } show_quota_nolist(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int id1, found = 1; + int iid = id, id1, found = 1; EXEC SQL END DECLARE SECTION; EXEC SQL DECLARE csr213 CURSOR FOR SELECT filsys_id FROM quota - WHERE entity_id = :id AND type='GROUP'; + WHERE entity_id = :iid AND type='GROUP'; EXEC SQL OPEN csr213; while(1) { EXEC SQL FETCH csr213 INTO :id1; @@ -1157,17 +1136,15 @@ EXEC SQL END DECLARE SECTION; } fix_quota_nouser(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int rowcount, id1; + int iid = id, rowcount, id1; EXEC SQL END DECLARE SECTION; id1 = ((struct filesys *)hash_lookup(filesys, id))->phys_id; EXEC SQL DELETE FROM quota - WHERE entity_id = :id AND type = 'USER'; + WHERE entity_id = :iid AND type = 'USER'; rowcount = sqlca.sqlerrd[2]; if (rowcount > 0) printf("%d entr%s deleted\n",rowcount, rowcount==1?"y":"ies"); @@ -1177,16 +1154,14 @@ EXEC SQL END DECLARE SECTION; } fix_quota_nolist(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int rowcount, id1; + int iid = id, rowcount, id1; EXEC SQL END DECLARE SECTION; id1 = ((struct filesys *)hash_lookup(filesys, id))->phys_id; - EXEC SQL DELETE FROM quota WHERE entity_id = :id AND type='GROUP'; + EXEC SQL DELETE FROM quota WHERE entity_id = :iid AND type='GROUP'; rowcount = sqlca.sqlerrd[2]; if (rowcount > 0) printf("%d entr%s deleted\n",rowcount, rowcount==1?"y":"ies"); @@ -1196,18 +1171,16 @@ EXEC SQL END DECLARE SECTION; } show_quota_nofs(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int id1, found = 1; + int iid = id, id1, found = 1; char type[9]; EXEC SQL END DECLARE SECTION; EXEC SQL DECLARE csr214 CURSOR FOR SELECT entity_id, type FROM quota - WHERE filsys_id = :id; + WHERE filsys_id = :iid; EXEC SQL OPEN csr214; while(1) { EXEC SQL FETCH csr214 INTO :id1, :type; @@ -1226,12 +1199,10 @@ fix_quota_nofs(id) } show_quota_wrongpid(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int id1, found = 1; + int iid = id, id1, found = 1; char type[9]; EXEC SQL END DECLARE SECTION; struct user *u; @@ -1240,7 +1211,7 @@ EXEC SQL END DECLARE SECTION; f = (struct filesys *)hash_lookup(filesys, id); EXEC SQL DECLARE csr215 CURSOR FOR SELECT entity_id, type FROM quota - WHERE filsys_id = :id; + WHERE filsys_id = :iid; EXEC SQL OPEN csr215; while(1) { EXEC SQL FETCH csr215 INTO :id1, :type; @@ -1255,17 +1226,15 @@ EXEC SQL END DECLARE SECTION; } fix_quota_physid(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int rowcount, id1; + int iid = id, rowcount, id1; EXEC SQL END DECLARE SECTION; id1 = ((struct filesys *)hash_lookup(filesys, id))->phys_id; EXEC SQL UPDATE quota SET phys_id = :id1 - WHERE filsys_id = :id AND phys_id != :id1; + WHERE filsys_id = :iid AND phys_id != :id1; rowcount = sqlca.sqlerrd[2]; if (rowcount > 0) printf("%d entr%s fixed\n",rowcount, rowcount==1?"y":"ies"); @@ -1275,18 +1244,17 @@ EXEC SQL END DECLARE SECTION; } show_srv_user(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; char name[33]; + int iid = id; EXEC SQL END DECLARE SECTION; int found = 1; EXEC SQL DECLARE csr216 CURSOR FOR SELECT name FROM servers - WHERE acl_type='USER' and acl_id = :id; + WHERE acl_type='USER' and acl_id = :iid; EXEC SQL OPEN csr216; while(1) { EXEC SQL FETCH csr216 INTO :name; @@ -1301,18 +1269,17 @@ EXEC SQL END DECLARE SECTION; } show_srv_list(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; char name[33]; + int iid = id; EXEC SQL END DECLARE SECTION; int found = 1; EXEC SQL DECLARE csr217 CURSOR FOR SELECT name FROM servers - WHERE acl_type='LIST' AND acl_id = :id; + WHERE acl_type='LIST' AND acl_id = :iid; EXEC SQL OPEN csr217; while(1) { EXEC SQL FETCH csr217 INTO :name; @@ -1327,15 +1294,13 @@ EXEC SQL END DECLARE SECTION; } zero_srv_user(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int rowcount; + int iid = id, rowcount; EXEC SQL END DECLARE SECTION; - EXEC SQL UPDATE servers SET acl_id=0 WHERE acl_id = :id AND + EXEC SQL UPDATE servers SET acl_id=0 WHERE acl_id = :iid AND acl_type='USER'; rowcount = sqlca.sqlerrd[2]; if (rowcount > 0) @@ -1346,15 +1311,13 @@ EXEC SQL END DECLARE SECTION; } zero_srv_list(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int rowcount; + int iid = id, rowcount; EXEC SQL END DECLARE SECTION; - EXEC SQL UPDATE servers SET acl_id=0 WHERE acl_id = :id AND + EXEC SQL UPDATE servers SET acl_id=0 WHERE acl_id = :iid AND acl_type='LIST'; rowcount = sqlca.sqlerrd[2]; if (rowcount > 0) @@ -1366,19 +1329,17 @@ EXEC SQL END DECLARE SECTION; show_krb_usr(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int found = 1, id1; + int iid = id, found = 1, id1; EXEC SQL END DECLARE SECTION; struct string *s; char *ss; EXEC SQL DECLARE csr218 CURSOR FOR SELECT string_id FROM krbmap - WHERE users_id = :id ; + WHERE users_id = :iid ; EXEC SQL OPEN csr218; while(1) { EXEC SQL FETCH csr218 INTO :id1; @@ -1398,19 +1359,17 @@ EXEC SQL END DECLARE SECTION; show_krb_str(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; - int found = 1, id1; + int iid = id, found = 1, id1; EXEC SQL END DECLARE SECTION; struct user *u; char *s; EXEC SQL DECLARE csr219 CURSOR FOR SELECT users_id FROM krbmap - WHERE string_id = :id; + WHERE string_id = :iid; EXEC SQL OPEN csr219; while(1) { EXEC SQL FETCH csr219 INTO :id1; @@ -1430,18 +1389,17 @@ EXEC SQL END DECLARE SECTION; show_pdm_mach(id) -EXEC SQL BEGIN DECLARE SECTION; int id; -EXEC SQL END DECLARE SECTION; { EXEC SQL BEGIN DECLARE SECTION; char name[33]; + int iid = id; EXEC SQL END DECLARE SECTION; int found = 1; EXEC SQL DECLARE csr220 CURSOR FOR SELECT name FROM palladium - WHERE mach_id = :id; + WHERE mach_id = :iid; EXEC SQL OPEN csr220; while(1) { EXEC SQL FETCH csr220 INTO :name; diff --git a/dbck/phase4.pc b/dbck/phase4.pc index b236853f..30f470ea 100644 --- a/dbck/phase4.pc +++ b/dbck/phase4.pc @@ -36,13 +36,11 @@ struct hash *boxes; check_box_counts(id, cnt, counts) -EXEC SQL BEGIN DECLARE SECTION; int id, cnt; -EXEC SQL END DECLARE SECTION; struct hash *counts; { EXEC SQL BEGIN DECLARE SECTION; - int oldval, rowcount; + int oldval, rowcount, iid = id, icnt = cnt; EXEC SQL END DECLARE SECTION; oldval = (int) hash_lookup(counts, id); @@ -52,8 +50,8 @@ struct hash *counts; ((struct machine *) hash_lookup(machines, id))->name, oldval, cnt); if (single_fix("Update", 1)) { - EXEC SQL UPDATE serverhosts SET value1 = :cnt - WHERE service='POP' AND mach_id = :id; + EXEC SQL UPDATE serverhosts SET value1 = :icnt + WHERE service='POP' AND mach_id = :iid; rowcount = sqlca.sqlerrd[2]; if (rowcount > 0) printf("%d entr%s fixed\n", rowcount, rowcount==1?"y":"ies"); @@ -66,13 +64,11 @@ struct hash *counts; check_nfs_counts(id, n, hint) -EXEC SQL BEGIN DECLARE SECTION; int id, hint; -EXEC SQL END DECLARE SECTION; struct nfsphys *n; { EXEC SQL BEGIN DECLARE SECTION; - int val, rowcount; + int iid = id, val, rowcount; EXEC SQL END DECLARE SECTION; val = n->count; @@ -82,7 +78,7 @@ struct nfsphys *n; n->dir, n->allocated, val); if (single_fix("Update", 1)) { EXEC SQL UPDATE nfsphys SET allocated = :val - WHERE nfsphys_id = :id; + WHERE nfsphys_id = :iid; rowcount = sqlca.sqlerrd[2]; if (rowcount > 0) printf("%d entr%s fixed\n", rowcount, rowcount==1?"y":"ies"); diff --git a/server/qrtn.pc b/server/qrtn.pc index 1ec4d5ce..1801bac9 100644 --- a/server/qrtn.pc +++ b/server/qrtn.pc @@ -772,18 +772,17 @@ int do_delete(q, qual, action, actarg) **/ int set_next_object_id(object, table, limit) -EXEC SQL BEGIN DECLARE SECTION; char *object; -EXEC SQL END DECLARE SECTION; enum tables table; int limit; { EXEC SQL BEGIN DECLARE SECTION; int value; + char *obj = object; EXEC SQL END DECLARE SECTION; int starting_value; - EXEC SQL SELECT value INTO :value FROM numvalues WHERE name = :object; + EXEC SQL SELECT value INTO :value FROM numvalues WHERE name = :obj; if (sqlca.sqlerrd[2] != 1) return(MR_NO_ID); @@ -807,7 +806,7 @@ EXEC SQL END DECLARE SECTION; if (LOG_RES) com_err(whoami, 0, "setting ID %s to %d", object, value); - EXEC SQL UPDATE numvalues SET value = :value WHERE name = :object; + EXEC SQL UPDATE numvalues SET value = :value WHERE name = :obj; return(MR_SUCCESS); } @@ -920,14 +919,15 @@ void dosql(buffers) } int do_for_all_rows(query, count, action, actarg) -EXEC SQL BEGIN DECLARE SECTION; char *query; -EXEC SQL END DECLARE SECTION; int count, (*action)(), actarg; { int i, rowcount=0; + EXEC SQL BEGIN DECLARE SECTION; + char *q = query; + EXEC SQL END DECLARE SECTION; - EXEC SQL PREPARE stmt FROM :query; + EXEC SQL PREPARE stmt FROM :q; if(sqlca.sqlcode) return; EXEC SQL DECLARE curs CURSOR FOR stmt; EXEC SQL OPEN curs; diff --git a/server/qsetup.pc b/server/qsetup.pc index c921fb7a..9ffe9caa 100644 --- a/server/qsetup.pc +++ b/server/qsetup.pc @@ -609,13 +609,12 @@ int setup_ufil(q, argv, cl) */ int check_nfs(mach_id, name, access) -EXEC SQL BEGIN DECLARE SECTION; int mach_id; -EXEC SQL END DECLARE SECTION; char *name, *access; { EXEC SQL BEGIN DECLARE SECTION; char dir[81]; + int mid = mach_id; EXEC SQL END DECLARE SECTION; register int status; register char *cp1; @@ -624,7 +623,7 @@ EXEC SQL END DECLARE SECTION; status = MR_NFS; EXEC SQL DECLARE csr101 CURSOR FOR SELECT nfsphys_id, dir FROM nfsphys - WHERE mach_id = :mach_id + WHERE mach_id = :mid ORDER BY 2 DESC; if (dbms_errno) return(mr_errcode); diff --git a/server/qsupport.pc b/server/qsupport.pc index d6881099..dd06aaf0 100644 --- a/server/qsupport.pc +++ b/server/qsupport.pc @@ -622,15 +622,14 @@ int get_ace_use(q, argv, cl, action, actarg) */ int get_ace_internal(atype, aid, action, actarg) -EXEC SQL BEGIN DECLARE SECTION; char *atype; -EXEC SQL END DECLARE SECTION; int aid, (*action)(), actarg; { char *rargv[2]; int found = 0; EXEC SQL BEGIN DECLARE SECTION; - char name[33]; + char name[33], *type = atype; + int id = aid; EXEC SQL END DECLARE SECTION; rargv[1] = name; @@ -638,7 +637,7 @@ EXEC SQL END DECLARE SECTION; rargv[0] = "FILESYS"; EXEC SQL DECLARE csr110 CURSOR FOR SELECT label FROM filesys - WHERE owners = :aid; + WHERE owners = :id; if (dbms_errno) return(mr_errcode); EXEC SQL OPEN csr110; @@ -655,7 +654,7 @@ EXEC SQL END DECLARE SECTION; rargv[0] = "QUERY"; EXEC SQL DECLARE csr111 CURSOR FOR SELECT capability FROM capacls - WHERE list_id = :aid ; + WHERE list_id = :id ; if (dbms_errno) return(mr_errcode); EXEC SQL OPEN csr111; @@ -672,7 +671,7 @@ EXEC SQL END DECLARE SECTION; rargv[0] = "FILESYS"; EXEC SQL DECLARE csr112 CURSOR FOR SELECT label FROM filesys - WHERE owner = :aid; + WHERE owner = :id; if (dbms_errno) return(mr_errcode); EXEC SQL OPEN csr112; @@ -690,7 +689,7 @@ EXEC SQL END DECLARE SECTION; rargv[0] = "LIST"; EXEC SQL DECLARE csr113 CURSOR FOR SELECT name FROM list - WHERE acl_type = :atype AND acl_id = :aid; + WHERE acl_type = :type AND acl_id = :id; if (dbms_errno) return(mr_errcode); EXEC SQL OPEN csr113; @@ -707,7 +706,7 @@ EXEC SQL END DECLARE SECTION; rargv[0] = "SERVICE"; EXEC SQL DECLARE csr114 CURSOR FOR SELECT name FROM servers - WHERE acl_type = :atype AND acl_id = :aid; + WHERE acl_type = :type AND acl_id = :id; if (dbms_errno) return(mr_errcode); EXEC SQL OPEN csr114; @@ -724,8 +723,8 @@ EXEC SQL END DECLARE SECTION; rargv[0] = "HOSTACCESS"; EXEC SQL DECLARE csr115 CURSOR FOR SELECT name FROM machine m, hostaccess ha - WHERE m.mach_id = ha.mach_id AND ha.acl_type = :atype - AND ha.acl_id = :aid; + WHERE m.mach_id = ha.mach_id AND ha.acl_type = :type + AND ha.acl_id = :id; if (dbms_errno) return(mr_errcode); EXEC SQL OPEN csr115; @@ -742,10 +741,10 @@ EXEC SQL END DECLARE SECTION; rargv[0] = "ZEPHYR"; EXEC SQL DECLARE csr116 CURSOR FOR SELECT class FROM zephyr z - WHERE z.xmt_type = :atype AND z.xmt_id = :aid - OR z.sub_type = :atype AND z.sub_id = :aid - OR z.iws_type = :atype AND z.iws_id = :aid - OR z.iui_type = :atype AND z.iui_id = :aid; + WHERE z.xmt_type = :type AND z.xmt_id = :id + OR z.sub_type = :type AND z.sub_id = :id + OR z.iws_type = :type AND z.iws_id = :id + OR z.iui_type = :type AND z.iui_id = :id; if (dbms_errno) return(mr_errcode); EXEC SQL OPEN csr116; @@ -1315,13 +1314,14 @@ int register_user(q, argv, cl) **/ int set_pop_usage(id, cnt) -EXEC SQL BEGIN DECLARE SECTION; int id, cnt; -EXEC SQL END DECLARE SECTION; { + EXEC SQL BEGIN DECLARE SECTION; + int iid = id, icnt = cnt; + EXEC SQL END DECLARE SECTION; - EXEC SQL UPDATE serverhosts SET value1 = value1 + :cnt - WHERE serverhosts.service = 'POP' AND serverhosts.mach_id = :id; + EXEC SQL UPDATE serverhosts SET value1 = value1 + :icnt + WHERE serverhosts.service = 'POP' AND serverhosts.mach_id = :iid; if (dbms_errno) return(mr_errcode); return(MR_SUCCESS); diff --git a/server/qvalidate.pc b/server/qvalidate.pc index 3ed00cd0..8fbf0624 100644 --- a/server/qvalidate.pc +++ b/server/qvalidate.pc @@ -635,13 +635,11 @@ int convert_wildcards_uppercase(arg) /* Adds a string to the string table. Returns the id number. * */ -int add_string(name) - EXEC SQL BEGIN DECLARE SECTION; - char *name; - EXEC SQL END DECLARE SECTION; +int add_string(nm) + char *nm; { EXEC SQL BEGIN DECLARE SECTION; - char buf[256]; + char buf[256], *name = nm; int id; EXEC SQL END DECLARE SECTION; @@ -649,7 +647,7 @@ int add_string(name) id++; EXEC SQL UPDATE numvalues SET value = :id WHERE name = 'strings_id'; - EXEC SQL INSERT INTO strings (string_id, string) VALUES (:id, :name); + EXEC SQL INSERT INTO strings (string_id, string) VALUES (:id, :nm); return(id); }