From: Ron J. <wi...@je...> - 2011-07-03 00:39:57
|
On Saturday 02 July 2011 17:52:23 Chris Wilkinson wrote: > I re-read the messages on starting and I see... > > loadxml: reading '' denied (unauthorized access) /** * An fgcommand to allow loading of xml files via nasal, * the xml file's structure will be made available within * a property tree node defined under argument "targetnode", * or in the given argument tree under "data" otherwise. * * @param filename a string to hold the complete path & filename of an XML file * @param targetnode a string pointing to a location within the property tree * where to store the parsed XML file. If <targetnode> is undefined, then the * file contents are stored under a node <data> in the argument tree. */ static bool do_load_xml_to_proptree(const SGPropertyNode * arg) { SGPath file(arg->getStringValue("filename")); if (file.str().empty()) return false; if (file.extension() != "xml") file.concat(".xml"); std::string icao = arg->getStringValue("icao"); if (icao.empty()) { if (file.isRelative()) { file = globals->resolve_maybe_aircraft_path(file.str()); } } else { if (!XMLLoader::findAirportData(icao, file.str(), file)) { SG_LOG(SG_IO, SG_INFO, "loadxml: failed to find airport data for " << file.str() << " at ICAO:" << icao); return false; } } if (!fgValidatePath(file.c_str(), false)) { SG_LOG(SG_IO, SG_ALERT, "loadxml: reading '" << file.str() << "' denied " "(unauthorized access)"); return false; } This fragment from src/Main/fg_commands.cxx is the source of that error message. If you look closely, you'll see a file name is supposed to be in those quote marks. A file name that appears not to exist in the current case. It to me, for that to happen globals->resolve_maybe_aircraft_path(file.str()) is returning a null. Is FG_AIRCRAFT set to a valid path or unset? Also, this is apparently nasal related. Is the path allowed in Nasal/IOrules? Ron |