コード例 #1
0
ファイル: nvpair.c プロジェクト: LyonsLab/cctools
void nvpair_print_json(struct nvpair *n, FILE * s)
{
	char *key;
	void *value;

	int i = 0;
	int count = hash_table_size(n->table);

	fprintf(s, "{\n");
	hash_table_firstkey(n->table);
	while(hash_table_nextkey(n->table, &key, &value)) {

		fprintf(s,"\"%s\":",key);

		if(string_is_integer(value)) {
			fprintf(s,"%s",(char*)value);
		} else {
			fprintf(s,"\"%s\"",(char*)value);
		}		

		i++;
		if(i<count) fprintf(s,",\n");
	}
	fprintf(s, "\n}\n");
}
コード例 #2
0
ファイル: caches_maps.cpp プロジェクト: huubby/TopN
bool sort_list(port_type_t type)
{
    hash_table_t *table = get_map_by_type(type);
    if (table == NULL) {
        return false;
    }
    uint table_size = hash_table_size(table);

    if (topn_ip != NULL) {
        topn_free(topn_ip);
    }
    topn_ip = topn_new(table_size, ip_compare, table, NULL, NULL);
    hash_table_foreach(table, sort_ip, topn_ip);
    //topn_foreach(topn_ip, print, NULL);
    return true;
}
コード例 #3
0
struct ht_ht *
generate_frequencies (int fl, char *buffer, long buflen)
{
  struct ht_ht *ht;
  char *reader;
  long i;
  char nulled;

  if (fl > buflen)
    return NULL;

  ht = ht_create (hash_table_size (fl, buflen));
  for (i = 0; i < buflen - fl + 1; i++)
    {
      reader = &(buffer[i]);
      nulled = reader[fl];
      reader[fl] = 0x00;
      ht_find_new (ht, reader)->val++;
      reader[fl] = nulled;
    }
  return ht;
}
コード例 #4
0
ファイル: chirp_alloc.c プロジェクト: liblit/Murphy
int chirp_alloc_flush_needed()
{
	if(!alloc_enabled)
		return 0;
	return hash_table_size(alloc_table);
}
コード例 #5
0
ファイル: hash_table_test.c プロジェクト: kentalabur/egs
int main(void) {
    hash_table_t ht;
    network_address_t addr1;
    network_address_t addr2;
    network_address_t addr3;
    network_address_t addr4;

    addr1[0] = 42;
    addr1[1] = 1;
    addr2[1] = 2;
    addr3[1] = 3;
    addr4[0] = 14;
    addr4[1] = 4;

    assert(network_compare_network_addresses(addr1, addr1));
    ht = hash_table_create();
    assert(hash_table_size(ht) == 0);
    assert(hash_table_capacity(ht) == 64);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr3, (void*)24);
    assert(hash_table_contains(ht, addr1));
    assert(!hash_table_contains(ht, addr4));
    assert((long)hash_table_get(ht, addr2) == 16);
    assert((long)hash_table_get(ht, addr3) == 24);
    assert(hash_table_size(ht) == 3);
    assert((long)hash_table_remove(ht, addr1) == 8);
    assert(!hash_table_contains(ht, addr1));
    assert(hash_table_capacity(ht) == 64);
    assert(hash_table_size(ht) == 2);
    assert(!hash_table_destroy(ht));

    ht = hash_table_create();
    assert(hash_table_size(ht) == 0);
    assert(!hash_table_add(ht, addr1, (void*)8));
    assert((long)hash_table_get(ht, addr2) == 0);
    assert(!hash_table_add(ht, addr2, (void*)16));
    assert((long)hash_table_get(ht, addr2) == 16);
    assert(!hash_table_destroy(ht));

    ht = hash_table_create();
    hash_table_add(ht, addr4, (void*)32);
    hash_table_add(ht, addr4, (void*)32);
    hash_table_add(ht, addr4, (void*)32);
    hash_table_add(ht, addr4, (void*)32);
    assert(hash_table_size(ht) == 4);
    assert(hash_table_contains(ht, addr4));
    assert((long)hash_table_remove(ht, addr4) == 32);
    assert((long)hash_table_remove(ht, addr1) == 0);
    assert(hash_table_contains(ht, addr4));
    assert(hash_table_size(ht) == 3);
    assert((long)hash_table_remove(ht, addr4) == 32);
    assert((long)hash_table_remove(ht, addr4) == 32);
    assert((long)hash_table_remove(ht, addr4) == 32);
    assert(!hash_table_contains(ht, addr4));
    assert(hash_table_size(ht) == 0);
    assert(!hash_table_destroy(ht));

    ht = hash_table_create();
    assert(hash_table_size(ht) == 0);
    assert(hash_table_capacity(ht) == 64);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    assert(hash_table_contains(ht, addr2));
    assert(!hash_table_contains(ht, addr4));
    assert(!hash_table_get(ht, addr4));
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    hash_table_add(ht, addr1, (void*)8);
    hash_table_add(ht, addr2, (void*)16);
    assert(hash_table_size(ht) == 50);
    assert(hash_table_capacity(ht) == 128);
    assert((long)hash_table_remove(ht, addr1) == 8);
    assert((long)hash_table_remove(ht, addr2) == 16);
    assert((long)hash_table_remove(ht, addr1) == 8);
    assert((long)hash_table_remove(ht, addr2) == 16);
    assert((long)hash_table_remove(ht, addr1) == 8);
    assert((long)hash_table_remove(ht, addr2) == 16);
    assert((long)hash_table_remove(ht, addr1) == 8);
    assert((long)hash_table_remove(ht, addr2) == 16);
    assert((long)hash_table_remove(ht, addr1) == 8);
    assert((long)hash_table_remove(ht, addr2) == 16);
    assert((long)hash_table_remove(ht, addr1) == 8);
    assert((long)hash_table_remove(ht, addr2) == 16);
    assert((long)hash_table_remove(ht, addr1) == 8);
    assert((long)hash_table_remove(ht, addr2) == 16);
    assert((long)hash_table_remove(ht, addr1) == 8);
    assert((long)hash_table_remove(ht, addr2) == 16);
    assert((long)hash_table_remove(ht, addr1) == 8);
    assert((long)hash_table_remove(ht, addr2) == 16);
    assert((long)hash_table_remove(ht, addr1) == 8);
    assert((long)hash_table_remove(ht, addr2) == 16);
    assert(hash_table_size(ht) == 30);
    assert(hash_table_capacity(ht) == 64);
    printf("all tests pass\n");

    return 0;
}