#include <sys/types.h>
#include <sys/stat.h>
#include <sys/time.h>
+#include <strings.h>
EXEC SQL INCLUDE sqlca;
extern int errno;
char **argv;
{
FILE *out = stdout;
- char *outf = NULL, outft[64];
+ char *outf = NULL, outft[64], *p, last[256];
struct stat sb;
struct save_queue *sq;
struct prec *prec;
int id;
EXEC SQL END DECLARE SECTION;
+ initialize_sms_error_table ();
+
#ifsql INGRES
EXEC SQL CONNECT sms;
#endsql
SELECT DISTINCT u.login, u.fullname, f.name
FROM users u, filesys f
WHERE f.label = u.login and u.status = 1 and f.type = "AFS"
- ORDER BY login;
+ ORDER BY name;
EXEC SQL OPEN z;
- first = 0;
while (1) {
EXEC SQL FETCH z INTO :login, :name, :dir;
if (sqlca.sqlcode != 0) break;
- if (strncmp(dir, "/afs/athena", 11)) break;
- if (first != login[0]) {
- first = login[0];
- fprintf(out, "*%s:%s%c\n", "AFS", "/afs/athena.mit.edu/user/",
- first);
+ p = rindex(dir, '/');
+ if (p) *p = 0;
+ if (strcmp(last, dir)) {
+ strcpy(last, dir);
+ fprintf(out, "*%s:%s\n", "AFS", dir);
}
strtrim(login);
strtrim(name);
sqlerr:
com_err(whoami, MR_INGRES_ERR, " code %d\n", sqlca.sqlcode);
+#ifsql INGRES
+ if (sqlca.sqlcode == 17700)
+ exit(MR_DEADLOCK);
+#endsql
critical_alert("DCM", "Central America build encountered INGRES ERROR %d",
sqlca.sqlcode);
exit(MR_INGRES_ERR);