347 CPLXMLNode *root, *optNode;
348 const char *xml = VSIGetFileSystemOptions(vsiname);
351 root = CPLParseXMLString(xml);
353 elog(ERROR,
"%s: Unable to read options for VSI %s", __func__, vsiname);
356 optNode = CPLSearchXMLNode(root,
"Option");
358 CPLDestroyXMLNode(root);
359 elog(ERROR,
"%s: Unable to find <Option> in VSI XML %s", __func__, vsiname);
364 const char *option = CPLGetXMLValue(optNode,
"name", NULL);
366 char *optionstr = pstrdup(option);
367 char *ptr = optionstr;
372 *ptr = tolower(*ptr);
375 elog(DEBUG4,
"GDAL %s option: %s", vsiname, optionstr);
378 optNode = optNode->psNext;
380 CPLDestroyXMLNode(root);
void stringlist_add_string_nosort(stringlist_t *s, const char *string)