29 lines
691 B
C
29 lines
691 B
C
|
/*
|
||
|
* Copyright (c) 1992 by the University of Southern California
|
||
|
*
|
||
|
* For copying and distribution information, please see the file <usc-copyr.h>
|
||
|
*/
|
||
|
/* Author: Steven Augart, swa@isi.edu */
|
||
|
|
||
|
#include <usc-copyr.h>
|
||
|
#include <stdio.h>
|
||
|
#include <pfs.h>
|
||
|
|
||
|
extern int pfs_debug;
|
||
|
|
||
|
/* Return the NTH element of a sequence S. Indexing starts at zero. Works
|
||
|
just like the Common LISP ELT function. */
|
||
|
char *
|
||
|
elt(TOKEN s, int nth)
|
||
|
{
|
||
|
if (nth < 0) {
|
||
|
if (pfs_debug)
|
||
|
fprintf(stderr, "elt() called with illegal negative index %d\n",
|
||
|
nth);
|
||
|
return NULL;
|
||
|
}
|
||
|
for (; s && nth > 0; s = s->next, --nth)
|
||
|
;
|
||
|
return s ? s->token : NULL;
|
||
|
}
|