Lines Matching refs:table

554 static NAMED *lookup(XML_Parser parser, HASH_TABLE *table, KEY name,
556 static void FASTCALL hashTableInit(HASH_TABLE *table,
558 static void FASTCALL hashTableClear(HASH_TABLE *table);
559 static void FASTCALL hashTableDestroy(HASH_TABLE *table);
561 const HASH_TABLE *table);
7187 lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize) { in lookup() argument
7189 if (table->size == 0) { in lookup()
7193 table->power = INIT_POWER; in lookup()
7195 table->size = (size_t)1 << INIT_POWER; in lookup()
7196 tsize = table->size * sizeof(NAMED *); in lookup()
7197 table->v = table->mem->malloc_fcn(tsize); in lookup()
7198 if (! table->v) { in lookup()
7199 table->size = 0; in lookup()
7202 memset(table->v, 0, tsize); in lookup()
7203 i = hash(parser, name) & ((unsigned long)table->size - 1); in lookup()
7206 unsigned long mask = (unsigned long)table->size - 1; in lookup()
7209 while (table->v[i]) { in lookup()
7210 if (keyeq(name, table->v[i]->name)) in lookup()
7211 return table->v[i]; in lookup()
7213 step = PROBE_STEP(h, mask, table->power); in lookup()
7214 i < step ? (i += table->size - step) : (i -= step); in lookup()
7220 if (table->used >> (table->power - 1)) { in lookup()
7221 unsigned char newPower = table->power + 1; in lookup()
7237 NAMED **newV = table->mem->malloc_fcn(tsize); in lookup()
7241 for (i = 0; i < table->size; i++) in lookup()
7242 if (table->v[i]) { in lookup()
7243 unsigned long newHash = hash(parser, table->v[i]->name); in lookup()
7251 newV[j] = table->v[i]; in lookup()
7253 table->mem->free_fcn(table->v); in lookup()
7254 table->v = newV; in lookup()
7255 table->power = newPower; in lookup()
7256 table->size = newSize; in lookup()
7259 while (table->v[i]) { in lookup()
7266 table->v[i] = table->mem->malloc_fcn(createSize); in lookup()
7267 if (! table->v[i]) in lookup()
7269 memset(table->v[i], 0, createSize); in lookup()
7270 table->v[i]->name = name; in lookup()
7271 (table->used)++; in lookup()
7272 return table->v[i]; in lookup()
7276 hashTableClear(HASH_TABLE *table) { in hashTableClear() argument
7278 for (i = 0; i < table->size; i++) { in hashTableClear()
7279 table->mem->free_fcn(table->v[i]); in hashTableClear()
7280 table->v[i] = NULL; in hashTableClear()
7282 table->used = 0; in hashTableClear()
7286 hashTableDestroy(HASH_TABLE *table) { in hashTableDestroy() argument
7288 for (i = 0; i < table->size; i++) in hashTableDestroy()
7289 table->mem->free_fcn(table->v[i]); in hashTableDestroy()
7290 table->mem->free_fcn(table->v); in hashTableDestroy()
7303 hashTableIterInit(HASH_TABLE_ITER *iter, const HASH_TABLE *table) { in hashTableIterInit() argument
7304 iter->p = table->v; in hashTableIterInit()
7305 iter->end = iter->p ? iter->p + table->size : NULL; in hashTableIterInit()