blob: fa98098ac985c19b45d4bbaa16a97e989f5bb534 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#include <stdio.h>
#include "hashtable.h"
extern char **environ;
int main(int argc,char *argv[]) {
struct hashtable ht;
int i;
char *name;
char *tmp;
char *value;
inittable(&ht,1000);
for(i=0;environ[i];i++) {
name=strdup(environ[i]);
if((tmp=strchr(name,'=') )){
*tmp=0;
tmp++;
}
value=strdup(tmp);
ht_setkey(&ht,name,value);
free(name);
}
printf("ht.size: %u\n",ht.size);
printf("before: PATH='%s'\n",ht_getvalue(&ht,"PATH"));
ht_delete(&ht,"PATH");
printf("after: PATH='%s'\n",ht_getvalue(&ht,"PATH"));
//if you want to get a whole entry struct use ht_getnode();
//getentry() just returns the first struct in the linked list in that bucket.
return 0;
}
|