static char sccsid
[] = "@(#)gnxseq.c 4.1 (Berkeley) 9/11/82";
* gnxseq(rmtname) get next conversation sequence number
* return - 0 no entry | >0 sequence number
int count
= 0, ct
, ret
, i
;
extern struct tm
*localtime();
char buf
[BUFSIZ
], name
[NAMESIZE
];
for (i
= 0; i
< 5; i
++) {
if ((ret
= ulockf(SQLOCK
, SQTIME
)) == 0)
logent("CAN'T LOCK", SQLOCK
);
DEBUG(4, "can't lock %s\n", SQLOCK
);
if ((fp0
= fopen(SQFILE
, "r")) == NULL
)
if ((fp1
= fopen(SQTMP
, "w")) == NULL
) {
while (fgets(buf
, BUFSIZ
, fp0
) != NULL
) {
ret
= sscanf(buf
, "%s%d", name
, &ct
);
if (strcmp(rmtname
, name
) != SAME
) {
fprintf(fp1
, "%s %d %d/%d-%d:%d\n", name
, ct
,
tp
->tm_mon
+ 1, tp
->tm_mday
, tp
->tm_hour
,
while (fgets(buf
, BUFSIZ
, fp0
) != NULL
)
* cmtseq() commit sequence update
* return 0 ok | other - link failed
if ((ret
= access(SQTMP
, 0400)) != 0) {
ret
= link(SQTMP
, SQFILE
);
* ulkseq() unlock sequence file