home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Source Code 1992 March
/
Source_Code_CD-ROM_Walnut_Creek_March_1992.iso
/
usenet
/
altsrcs
/
1
/
1730
/
uniqmsgid.c
< prev
Wrap
C/C++ Source or Header
|
1990-12-28
|
1KB
|
61 lines
#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);
}