421{
422 size_t olist_sz, i;
424 const char *found = NULL;
425 char *newoptions;
426
427 memset(olist, 0, sizeof(olist));
428 if (!newval || !*newval)
429 return false;
430 newoptions = pstrdup(*newval);
431
432
435
436 elog(DEBUG5, "%s: processing VSI options: %s", __func__, newoptions);
439 if (olist_sz % 2 != 0)
440 return false;
441
442 for (i = 0; i < olist_sz; i += 2)
443 {
445 if (!found)
446 {
447 elog(WARNING, "'%s' is not a legal VSI network file option", olist[i]);
448 pfree(newoptions);
449 return false;
450 }
451 }
452 return true;
453}
size_t option_list_length(char **olist)
Returns the total number of keys and values in the list.
void option_list_parse(char *input, char **olist)
option_list is a null-terminated list of strings, where every odd string is a key and every even stri...
static stringlist_t * vsi_option_stringlist
static void rt_pg_vsi_load_all_options(void)
const char * stringlist_find(stringlist_t *s, const char *key)