xref: /csrg-svn/usr.bin/pascal/libpc/NAM.c (revision 3013)
11666Smckusick /* Copyright (c) 1979 Regents of the University of California */
21666Smckusick 
3*3013Smckusic static char sccsid[] = "@(#)NAM.c 1.2 03/07/81";
41666Smckusick 
51666Smckusick #include "h00vars.h"
61666Smckusick #include "h01errs.h"
71666Smckusick 
81666Smckusick char *
9*3013Smckusic NAM(val, name)
101666Smckusick 
11*3013Smckusic 	long		val;	/* internal enumerated type value */
121666Smckusick 	char		*name;	/* ptr to enumerated type name descriptor */
131666Smckusick {
14*3013Smckusic 	register int	value = val;
151666Smckusick 	register short	*sptr;
161666Smckusick 
171666Smckusick 	sptr = (short *)name;
181666Smckusick 	if (value < 0 || value >= *sptr) {
19*3013Smckusic 		ERROR(ENAMRNG, val);
201666Smckusick 		return;
211666Smckusick 	}
221666Smckusick 	sptr++;
231666Smckusick 	return	name + 2 + sptr[value];
241666Smckusick }
25