I need to write in C a function ungets(s) that will push back an entire string onto the input. Should ungets know about buf and bufp or should it just use ungetch?
#define BUFSIZE 100
char buf[BUFSIZE];
int bufp = 0; /* next free position in buf */
int getch(void) /* get a (possibly pushed back) character */
{
return (bufp > 0) ? buf[--bufp] : getchar();
}
void ungetch(int c) /* push character back on input */
{
if (bufp >= BUFSIZE)
printf("ungetch: too many characters\n");
else
buf[bufp++] = c;
}