1
0
Files
irix-657m-src/eoe/cmd/sccs/lib/cassi/cmrcheck.c
2022-09-29 17:59:04 +03:00

73 lines
2.0 KiB
C

/* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */
/* Copyright (c) 1988 AT&T */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF */
/* UNIX System Laboratories, Inc. */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
/* #ident "@(#)sccs:lib/cassi/cmrcheck.c 6.3" */
#ident "$Revision: 1.5 $"
/* EMACS_MODES: c tabstop=4 !fill */
/*
* cmrcheck -- Check list in p file to see if this cmr is valid.
*
*
*/
#include "../../hdr/filehand.h"
#include <stdio.h>
/* Debugging options. */
#define MAXLENCMR 12
#ifdef TRACE
#define TR(W,X,Y,Z) fprintf (stdout, W, X, Y, Z)
#else
#define TR(W,X,Y,Z) /* W X Y Z */
#endif
#define CMRLIMIT 128 /* Length of cmr string. */
cmrcheck (cmr, appl)
char *cmr,
*appl;
{
int sweep();
char *strcpy();
unsigned strlen();
char lcmr[CMRLIMIT], /* Local copy of CMR list. */
*p[2], /* Field to match in .FRED file. */
*format = "%s is not a valid CMR.\n";
extern char *strrchr (), *gf (); /* Quiet lint. */
TR("Cmrcheck: cmr=(%s) appl=(%s)\n", cmr, appl, NULL);
p[1] = EMPTY;
(void) strcpy (lcmr, cmr);
while ((p[0] = strrchr (lcmr, ',')) != EMPTY) {
p[0]++; /* Skip the ','. */
if (strlen (p[0]) != MAXLENCMR || sweep (SEQVERIFY, gf (appl), EMPTY,
'\n', WHITE, 40, p, EMPTY, (char**) NULL, (int (*)()) NULL,
(int (*)()) NULL) != FOUND) {
fprintf (stdout, format, p[0]);
TR("Cmrcheck: return=1\n", NULL, NULL, NULL);
return (1);
}
p[0]--; /* Go back to comma. */
*p[0] = NULL; /* Clobber comma to end string. */
}
TR("Cmrcheck: last entry\n", NULL, NULL, NULL);
p[0] = lcmr; /* Last entry on the list. */
if (strlen (p[0]) != MAXLENCMR || sweep (SEQVERIFY, gf (appl), EMPTY, '\n',
WHITE, 40, p, EMPTY, (char**) NULL, (int (*)()) NULL, (int (*)()) NULL)
!= FOUND) {
fprintf (stdout, format, p[0]);
TR("Cmrcheck: return=1\n", NULL, NULL, NULL);
return (1);
}
TR("Cmrcheck: return=0\n", NULL, NULL, NULL);
return (0);
}