# 2.11BSD#431 - /usr/src/usr.bin/tbl/tm.c

##### Functions

    ineqn             X
    maknew            X

       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=(int)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=(char *)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((int)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

- in line 22, 30

maknew defined in line 7; used 2 times

- in /usr/src/usr.bin/tbl/t5.c line 75
- in /usr/src/usr.bin/tbl/t9.c line 52

#### Defined variables

sccsid defined in line 2; never used

Last modified: 1993-01-18 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 806 |