56 |
56 |
57 |
57 |
58 void object_add_directive(httpd_object *obj, directive *dir, int dt) { |
58 void object_add_directive(httpd_object *obj, directive *dir, int dt) { |
59 dtable *l = object_get_dtable(obj, dt); |
59 dtable *l = object_get_dtable(obj, dt); |
60 // allocate space for the new directive |
60 // allocate space for the new directive |
61 l->dirs = realloc(l->dirs, (l->ndir+1)*sizeof(directive*)); |
61 |
|
62 l->dirs = realloc(l->dirs, (l->ndir+1)*sizeof(void*)); |
|
63 /* TODO: aus irgend einem Grund funktioniert realloc nicht. warum?? */ |
|
64 |
|
65 directive **drs = malloc((l->ndir+1)*sizeof(void*)); |
|
66 for(int i=0;i<l->ndir;i++) { |
|
67 drs[i] = l->dirs[i]; |
|
68 } |
|
69 free(l->dirs); |
|
70 l->dirs = drs; |
|
71 |
62 // add directive |
72 // add directive |
63 l->dirs[l->ndir] = dir; |
73 l->dirs[l->ndir] = dir; |
64 l->ndir++; |
74 l->ndir++; |
65 } |
75 } |
66 |
76 |