src/server/object.c

changeset 12
34aa8001ea53
parent 6
ce8fecc9847d
child 13
1fdbf4170ef4
equal deleted inserted replaced
11:24d804a2799f 12:34aa8001ea53
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

mercurial