1: # include   <ingres.h>
   2: # include   <sccs.h>
   3: 
   4: SCCSID(@(#)mcall.c	8.1	12/31/84)
   5: 
   6: 
   7: 
   8: /*
   9: **  MCALL -- call a macro
  10: **
  11: **	This takes care of springing a macro and processing it for
  12: **	any side effects.  Replacement text is saved away in a static
  13: **	buffer and returned.
  14: **
  15: **	Parameters:
  16: **		mac -- the macro to spring.
  17: **
  18: **	Returns:
  19: **		replacement text.
  20: **
  21: **	Side Effects:
  22: **		Any side effects of the macro.
  23: **
  24: **	Trace Flags:
  25: **		51
  26: */
  27: 
  28: char *
  29: mcall(mac)
  30: char    *mac;
  31: {
  32:     register char   c;
  33:     register char   *m;
  34:     register char   *p;
  35:     static char buf[100];
  36:     extern char macsget();
  37: 
  38:     m = mac;
  39: 
  40: #	ifdef xMTR2
  41:     tTfp(51, -1, "mcall('%s')\n", m);
  42: #	endif
  43: 
  44:     /* set up to process the macro */
  45:     macinit(macsget, &mac, FALSE);
  46: 
  47:     /* process it -- throw away result */
  48:     for (p = buf; (c = macgetch()) > 0; )
  49:     {
  50: #		ifdef xMTR2
  51:         if (tTf(51, 1))
  52:             putchar(c);
  53: #		endif
  54:         if (p < &buf[sizeof buf])
  55:             *p++ = c;
  56:     }
  57: 
  58:     *p = 0;
  59: 
  60:     return (buf);
  61: }

Defined functions

mcall defined in line 4; used 3 times
Last modified: 1986-04-17
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 809
Valid CSS Valid XHTML 1.0 Strict