9 #include <moira_site.h>
10 EXEC SQL INCLUDE sqlca;
23 int main(int argc, char **argv)
26 struct entry *e, *get_next_entry();
28 char buf[BUFSIZ], *file = NULL, *p, *p1, *db = "moira";
31 whoami = strrchr(argv[0], '/');
37 setvbuf(stdout, NULL, _IOLBF, BUFSIZ);
38 setvbuf(stderr, NULL, _IOLBF, BUFSIZ);
40 for (i = 1; i < argc; i++)
42 if (!strcmp(argv[i], "-w"))
44 else if (!strcmp(argv[i], "-D"))
45 setenv("ING_SET", "set printqry");
46 else if (!strcmp(argv[i], "-d"))
49 fprintf(stderr, "Usage: %s [-w] [-D] [-n] inputfile\n", whoami);
54 in = fopen(file, "r");
57 fprintf(stderr, "Unable to open %s for input\n", file);
61 EXEC SQL CONNECT :db IDENTIFIED BY :db;
64 com_err(whoami, 0, "ingres error %d", sqlca.sqlcode);
68 while ((e = get_next_entry(in)))
75 for (p1 = e->login; *p1; p1++)
77 for (; p < &(e->line[10]); p++)
79 fputs(e->line, stdout);
94 struct entry *get_next_entry(FILE *in)
96 static struct entry e;
97 static char buf[BUFSIZ];
99 if (!fgets(buf, sizeof(buf), in))
103 strncpy(e.id, &buf[0], 9);
110 int process_entry(struct entry *e)
112 EXEC SQL BEGIN DECLARE SECTION;
114 EXEC SQL VAR login is STRING(9);
115 EXEC SQL END DECLARE SECTION;
119 EXEC SQL SELECT login INTO :login FROM users WHERE clearid = :id;
122 fprintf(stderr, "Error %d on %s\n", sqlca.sqlcode, e->line);
125 strncpy(e->login, login, 8);
128 printf("Got username %s\n", login);