rem: for(int32 i=0; i < to->value_count; i++) to->values[i] = strdup(from->values[i]);
add: for(int32 index = 0; index < to->value_count; index++) to->values[index] = strdup(from->values[index]);
context: copy_parameter(const driver_parameter *from, driver_parameter *to){	to->name = strdup(from->name);	to->value_count = from->value_count;		to->values = (char**) malloc(to->value_count * sizeof(char*));		for(int32 i=0; i < to->value_count; i++)		to->values[i] = strdup(from->values[i]);		to->parameter_count = from->parameter_count;		to->parameters = (driver_parameter*) malloc(to->parameter_count * sizeof(driver_parameter));		for(int32 i=0; i < to->parameter_count; i++)		copy_parameter(&from->parameters[i], &to->parameters[i]);}