rem: put_char(_buffer, _bufferSize, '}');
add: put_string(_buffer, _bufferSize, flat ? "}" : "}\n");
context: put_parameter(char **_buffer, size_t *_bufferSize, struct driver_parameter *parameter, int32 level, bool flat){	int32 i;	if (!flat)		put_level_space(_buffer, _bufferSize, level);	put_string(_buffer, _bufferSize, parameter->name);	if (flat && parameter->value_count > 0)		put_string(_buffer, _bufferSize, " =");	for (i = 0; i < parameter->value_count; i++) {		put_char(_buffer, _bufferSize, ' ');		put_string(_buffer, _bufferSize, parameter->values[i]);	}	if (parameter->parameter_count > 0) {		put_string(_buffer, _bufferSize, " {");		if (!flat)			put_char(_buffer, _bufferSize, '\n');		for (i = 0; i < parameter->parameter_count; i++) {			put_parameter(_buffer, _bufferSize, &parameter->parameters[i], level + 1, flat);			if (parameter->parameters[i].parameter_count == 0)				put_char(_buffer, _bufferSize, flat ? ';' : '\n');		}		if (!flat)			put_level_space(_buffer, _bufferSize, level);		put_char(_buffer, _bufferSize, '}');	}	return *_bufferSize >= 0;}