Lines Matching refs:de
91 struct _citrus_db_factory_entry *de;
93 while ((de = STAILQ_FIRST(&df->df_entries)) != NULL) {
95 if (de->de_key_free)
96 free(_region_head(&de->de_key));
97 if (de->de_data_free)
98 free(_region_head(&de->de_data));
99 free(de);
114 struct _citrus_db_factory_entry *de;
116 de = malloc(sizeof(*de));
117 if (de == NULL)
120 de->de_hashvalue = df->df_hashfunc(key);
121 de->de_key = *key;
122 de->de_key_free = keyfree;
123 de->de_data = *data;
124 de->de_data_free = datafree;
125 de->de_idx = -1;
127 STAILQ_INSERT_TAIL(&df->df_entries, de, de_entry);
263 struct _citrus_db_factory_entry *de, **depp, *det;
278 STAILQ_FOREACH(de, &df->df_entries, de_entry) {
279 de->de_hashvalue %= df->df_num_entries;
280 de->de_idx = -1;
281 de->de_next = NULL;
282 if (depp[de->de_hashvalue] == NULL) {
283 depp[de->de_hashvalue] = de;
284 de->de_idx = (int)de->de_hashvalue;
290 STAILQ_FOREACH(de, &df->df_entries, de_entry) {
291 if (de->de_idx == -1) {
292 det = depp[de->de_hashvalue];
295 det->de_next = de;
298 depp[i] = de;
299 de->de_idx = (int)i;
312 de = depp[i];
314 if (de->de_next) {
316 de->de_next->de_idx * _CITRUS_DB_ENTRY_SIZE;
318 put32(r, &ofs, de->de_hashvalue);
321 put32(r, &ofs, _region_size(&de->de_key));
323 put32(r, &ofs, _region_size(&de->de_data));
325 _region_head(&de->de_key), _region_size(&de->de_key));
326 keyofs += _region_size(&de->de_key);
328 _region_head(&de->de_data), _region_size(&de->de_data));
329 dataofs += _region_size(&de->de_data);