```   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
maknew defined in line 7; used 2 times

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: 1932