home *** CD-ROM | disk | FTP | other *** search
- #ifndef lint
- static char rcsid[] =
- "@(#) $Header: uniqmsgid.c,v 1.2 90/08/21 19:01:56 leres Exp $ (LBL)";
- #endif
-
- #include <stdio.h>
- #include <syslog.h>
- #include "config.h"
-
- char *progname;
- static void bail();
- extern char *strsave();
-
- main(argc, argv)
- int argc;
- char **argv;
- {
- register FILE *fp;
- register int seqn;
- register char *seqfile;
- register char *fmt = "%ld\n";
- char buf[512];
-
- openlog("uniqmsgid", 0, LOG_NEWS);
- progname = argv[0];
- seqfile = strsave(ctlfile("seq"));
- newslock();
- if ((fp = fopen(seqfile, "r+w")) == NULL)
- bail("fopen", seqfile);
- if (fgets(buf, sizeof(buf), fp) == NULL)
- bail("fgets", seqfile);
- seqn = atol(buf) + 1;
- if (fseek(fp, 0L, 0) < 0)
- bail("fseek", seqfile);
- if (fprintf(fp, fmt, seqn) == EOF)
- bail("fprintf", seqfile);
- if (ferror(fp))
- bail("ferror", seqfile);
- if (fclose(fp) == EOF)
- bail("fclose", seqfile);
- newsunlock();
- printf(fmt, seqn);
- exit(0);
- }
-
- static void
- bail(msg, seqfile)
- char *msg, *seqfile;
- {
- newsunlock();
- syslog(LOG_ERR, "%s: %s: %m", msg, seqfile);
- exit(1);
- }
-
- void
- unprivileged(reason)
- char *reason;
- {
- syslog(LOG_WARNING, "unprivileged: %s", reason);
- }
-