Age Owner Branch data TLA Line data Source code
1 : : #include "snowball_runtime.h"
2 : :
3 : : static const struct SN_env default_SN_env;
4 : :
69 tgl@sss.pgh.pa.us 5 :GNC 22 : extern struct SN_env * SN_new_env(int alloc_size)
6 : : {
7 : 22 : struct SN_env * z = (struct SN_env *) malloc(alloc_size);
6781 tgl@sss.pgh.pa.us 8 [ - + ]:CBC 22 : if (z == NULL) return NULL;
69 tgl@sss.pgh.pa.us 9 :GNC 22 : *z = default_SN_env;
6781 tgl@sss.pgh.pa.us 10 :CBC 22 : z->p = create_s();
69 tgl@sss.pgh.pa.us 11 [ - + ]:GNC 22 : if (z->p == NULL) {
69 tgl@sss.pgh.pa.us 12 :UNC 0 : SN_delete_env(z);
13 : 0 : return NULL;
14 : : }
6781 tgl@sss.pgh.pa.us 15 :CBC 22 : return z;
16 : : }
17 : :
69 tgl@sss.pgh.pa.us 18 :UNC 0 : extern void SN_delete_env(struct SN_env * z)
19 : : {
6781 tgl@sss.pgh.pa.us 20 [ # # ]:UBC 0 : if (z == NULL) return;
21 [ # # ]: 0 : if (z->p) lose_s(z->p);
22 : 0 : free(z);
23 : : }
24 : :
6781 tgl@sss.pgh.pa.us 25 :CBC 3425 : extern int SN_set_current(struct SN_env * z, int size, const symbol * s)
26 : : {
69 tgl@sss.pgh.pa.us 27 :GNC 3425 : int err = replace_s(z, 0, z->l, size, s);
6781 tgl@sss.pgh.pa.us 28 :CBC 3425 : z->c = 0;
29 : 3425 : return err;
30 : : }
|