I have some doubts about this function. The variable argument list makes it impossible to make compile time checks of the arguments being passed in.

I think I'd prefer to have a function returning *exactly* two strings: I don't think more than two strings are used anywhere, so the additional complexity for arbitrary number of strings is a case of *premature optimization*. I.e. a prototype like this:

```c
int cf_util_get_strings2 (oconfig_item_t const *ci, char **ret_string0, char **ret_string1);
```