1: #ifndef lint
   2: static char sccsid[] = "@(#)tm.c	4.2 8/11/83";
   3: #endif
   4: 
   5:  /* tm.c: split numerical fields */
   6: # include "t..c"
   7: maknew(str)
   8:     char *str;
   9: {
  10:     /* make two numerical fields */
  11:     int dpoint, c;
  12:     char *p, *q, *ba;
  13:     p = str;
  14:     for (ba= 0; c = *str; str++)
  15:         if (c == '\\' && *(str+1)== '&')
  16:             ba=str;
  17:     str=p;
  18:     if (ba==0)
  19:         {
  20:         for (dpoint=0; *str; str++)
  21:             {
  22:             if (*str=='.' && !ineqn(str,p) &&
  23:                 (str>p && digit(*(str-1)) ||
  24:                 digit(*(str+1))))
  25:                     dpoint=str;
  26:             }
  27:         if (dpoint==0)
  28:             for(; str>p; str--)
  29:             {
  30:             if (digit( * (str-1) ) && !ineqn(str, p))
  31:                 break;
  32:             }
  33:         if (!dpoint && p==str) /* not numerical, don't split */
  34:             return(0);
  35:         if (dpoint) str=dpoint;
  36:         }
  37:     else
  38:         str = ba;
  39:     p =str;
  40:     if (exstore ==0 || exstore >exlim)
  41:         {
  42:         exstore = chspace();
  43:         exlim= exstore+MAXCHS;
  44:         }
  45:     q = exstore;
  46:     while (*exstore++ = *str++);
  47:     *p = 0;
  48:     return(q);
  49:     }
  50: ineqn (s, p)
  51:     char *s, *p;
  52: {
  53: /* true if s is in a eqn within p */
  54: int ineq = 0, c;
  55: while (c = *p)
  56:     {
  57:     if (s == p)
  58:         return(ineq);
  59:     p++;
  60:     if ((ineq == 0) && (c == delim1))
  61:         ineq = 1;
  62:     else
  63:     if ((ineq == 1) && (c == delim2))
  64:         ineq = 0;
  65:     }
  66: return(0);
  67: }

Defined functions

ineqn defined in line 50; used 2 times
maknew defined in line 7; used 2 times

Defined variables

sccsid defined in line 2; never used
Last modified: 1983-08-12
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 835
Valid CSS Valid XHTML 1.0 Strict