|
|
BSD 4.3
# include <ingres.h>
# include <sccs.h>
SCCSID(@(#)mcall.c 8.1 12/31/84)
/*
** MCALL -- call a macro
**
** This takes care of springing a macro and processing it for
** any side effects. Replacement text is saved away in a static
** buffer and returned.
**
** Parameters:
** mac -- the macro to spring.
**
** Returns:
** replacement text.
**
** Side Effects:
** Any side effects of the macro.
**
** Trace Flags:
** 51
*/
char *
mcall(mac)
char *mac;
{
register char c;
register char *m;
register char *p;
static char buf[100];
extern char macsget();
m = mac;
# ifdef xMTR2
tTfp(51, -1, "mcall('%s')\n", m);
# endif
/* set up to process the macro */
macinit(macsget, &mac, FALSE);
/* process it -- throw away result */
for (p = buf; (c = macgetch()) > 0; )
{
# ifdef xMTR2
if (tTf(51, 1))
putchar(c);
# endif
if (p < &buf[sizeof buf])
*p++ = c;
}
*p = 0;
return (buf);
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.