|
|
|
@ -56,22 +56,13 @@ int config_insert_values_internal(server *srv, array *ca, const config_values_t |
|
|
|
|
data_array *da = (data_array *)du; |
|
|
|
|
|
|
|
|
|
for (j = 0; j < da->value->used; j++) { |
|
|
|
|
if (da->value->data[j]->type == TYPE_STRING) { |
|
|
|
|
data_string *ds = data_string_init(); |
|
|
|
|
|
|
|
|
|
buffer_copy_buffer(ds->value, ((data_string *)(da->value->data[j]))->value); |
|
|
|
|
if (!((data_string *)(da->value->data[j]))->is_index_key) { |
|
|
|
|
/* the id's were generated automaticly, as we copy now we might have to renumber them
|
|
|
|
|
* this is used to prepend server.modules by mod_indexfile as it has to be loaded |
|
|
|
|
* before mod_fastcgi and friends */ |
|
|
|
|
buffer_copy_buffer(ds->key, ((data_string *)(da->value->data[j]))->key); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
array_insert_unique(cv[i].destination, (data_unset *)ds); |
|
|
|
|
data_unset *ds = da->value->data[j]; |
|
|
|
|
if (ds->type == TYPE_STRING) { |
|
|
|
|
array_insert_unique(cv[i].destination, ds->copy(ds)); |
|
|
|
|
} else { |
|
|
|
|
log_error_write(srv, __FILE__, __LINE__, "sssbsd", |
|
|
|
|
"the value of an array can only be a string, variable:", |
|
|
|
|
cv[i].key, "[", da->value->data[j]->key, "], type:", da->value->data[j]->type); |
|
|
|
|
cv[i].key, "[", ds->key, "], type:", ds->type); |
|
|
|
|
|
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|