Lines Matching refs:x2a
3924 static struct s_x2 *x2a; variable
3928 if( x2a ) return; in Symbol_init()
3929 x2a = (struct s_x2*)malloc( sizeof(struct s_x2) ); in Symbol_init()
3930 if( x2a ){ in Symbol_init()
3931 x2a->size = 128; in Symbol_init()
3932 x2a->count = 0; in Symbol_init()
3933 x2a->tbl = (x2node*)malloc( in Symbol_init()
3935 if( x2a->tbl==0 ){ in Symbol_init()
3936 free(x2a); in Symbol_init()
3937 x2a = 0; in Symbol_init()
3940 x2a->ht = (x2node**)&(x2a->tbl[128]); in Symbol_init()
3941 for(i=0; i<128; i++) x2a->ht[i] = 0; in Symbol_init()
3955 if( x2a==0 ) return 0;
3957 h = ph & (x2a->size-1);
3958 np = x2a->ht[h];
3967 if( x2a->count>=x2a->size ){
3971 array.size = size = x2a->size*2;
3972 array.count = x2a->count;
3978 for(i=0; i<x2a->count; i++){
3980 oldnp = &(x2a->tbl[i]);
3990 free(x2a->tbl);
3991 *x2a = array;
3994 h = ph & (x2a->size-1);
3995 np = &(x2a->tbl[x2a->count++]);
3998 if( x2a->ht[h] ) x2a->ht[h]->from = &(np->next);
3999 np->next = x2a->ht[h];
4000 x2a->ht[h] = np;
4001 np->from = &(x2a->ht[h]);
4013 if( x2a==0 ) return 0;
4014 h = strhash(key) & (x2a->size-1);
4015 np = x2a->ht[h];
4028 if( x2a && n>0 && n<=x2a->count ){
4029 data = x2a->tbl[n-1].data;
4039 return x2a ? x2a->count : 0; in Symbol_count()
4049 if( x2a==0 ) return 0; in Symbol_arrayof()
4050 size = x2a->count; in Symbol_arrayof()
4053 for(i=0; i<size; i++) array[i] = x2a->tbl[i].data; in Symbol_arrayof()