Lines Matching refs:x2a
3927 static struct s_x2 *x2a; variable
3931 if( x2a ) return; in Symbol_init()
3932 x2a = (struct s_x2*)malloc( sizeof(struct s_x2) ); in Symbol_init()
3933 if( x2a ){ in Symbol_init()
3934 x2a->size = 128; in Symbol_init()
3935 x2a->count = 0; in Symbol_init()
3936 x2a->tbl = (x2node*)malloc( in Symbol_init()
3938 if( x2a->tbl==0 ){ in Symbol_init()
3939 free(x2a); in Symbol_init()
3940 x2a = 0; in Symbol_init()
3943 x2a->ht = (x2node**)&(x2a->tbl[128]); in Symbol_init()
3944 for(i=0; i<128; i++) x2a->ht[i] = 0; in Symbol_init()
3958 if( x2a==0 ) return 0;
3960 h = ph & (x2a->size-1);
3961 np = x2a->ht[h];
3970 if( x2a->count>=x2a->size ){
3974 array.size = size = x2a->size*2;
3975 array.count = x2a->count;
3981 for(i=0; i<x2a->count; i++){
3983 oldnp = &(x2a->tbl[i]);
3993 free(x2a->tbl);
3994 *x2a = array;
3997 h = ph & (x2a->size-1);
3998 np = &(x2a->tbl[x2a->count++]);
4001 if( x2a->ht[h] ) x2a->ht[h]->from = &(np->next);
4002 np->next = x2a->ht[h];
4003 x2a->ht[h] = np;
4004 np->from = &(x2a->ht[h]);
4016 if( x2a==0 ) return 0;
4017 h = strhash(key) & (x2a->size-1);
4018 np = x2a->ht[h];
4031 if( x2a && n>0 && n<=x2a->count ){
4032 data = x2a->tbl[n-1].data;
4042 return x2a ? x2a->count : 0; in Symbol_count()
4052 if( x2a==0 ) return 0; in Symbol_arrayof()
4053 size = x2a->count; in Symbol_arrayof()
4056 for(i=0; i<size; i++) array[i] = x2a->tbl[i].data; in Symbol_arrayof()