Commit | Line | Data |
378cc40b |
1 | /* $Header: str.h,v 2.0 88/06/05 00:16:05 root Exp $ |
8d063cd8 |
2 | * |
3 | * $Log: str.h,v $ |
378cc40b |
4 | * Revision 2.0 88/06/05 00:16:05 root |
5 | * Baseline version 2.0. |
8d063cd8 |
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(); |