a "replacement" for awk and sed
[p5sagit/p5-mst-13.2.git] / x2p / str.h
1 /* $Header: str.h,v 1.0 87/12/18 13:07:30 root Exp $
2  *
3  * $Log:        str.h,v $
4  * Revision 1.0  87/12/18  13:07:30  root
5  * Initial revision
6  * 
7  */
8
9 struct string {
10     char *      str_ptr;        /* pointer to malloced string */
11     double      str_nval;       /* numeric value, if any */
12     int         str_len;        /* allocated size */
13     int         str_cur;        /* length of str_ptr as a C string */
14     union {
15         STR *str_next;          /* while free, link to next free str */
16     } str_link;
17     char        str_pok;        /* state of str_ptr */
18     char        str_nok;        /* state of str_nval */
19 };
20
21 #define Nullstr Null(STR*)
22
23 /* the following macro updates any magic values this str is associated with */
24
25 #define STABSET(x) (x->str_link.str_magic && stabset(x->str_link.str_magic,x))
26
27 EXT STR **tmps_list;
28 EXT long tmps_max INIT(-1);
29
30 char *str_2ptr();
31 double str_2num();
32 STR *str_static();
33 STR *str_make();
34 STR *str_nmake();
35 char *str_gets();