diff --git a/dtool/src/dconfig/configTable.I b/dtool/src/dconfig/configTable.I index 424982a651..7b2bda5a1a 100644 --- a/dtool/src/dconfig/configTable.I +++ b/dtool/src/dconfig/configTable.I @@ -70,3 +70,7 @@ INLINE void ConfigTable::ArgSuffixDefault(void) { INLINE void ConfigTable::CommandStubDefault(void) { commandstub = "CONFIG"; } + +INLINE ConfigString ConfigTable::GetConfigPath(void) const { + return configpath; +} diff --git a/dtool/src/dconfig/configTable.cxx b/dtool/src/dconfig/configTable.cxx index 58bcbb0947..31f8aa6d11 100644 --- a/dtool/src/dconfig/configTable.cxx +++ b/dtool/src/dconfig/configTable.cxx @@ -165,16 +165,15 @@ void ConfigTable::ReadConfigFile(void) { if (microconfig_cat->is_spam()) microconfig_cat->spam() << "examining file '" << config_file << "'" << endl; - /* - if (file_access(convert_executable_pathname(config_file), X_OK) == 0) { - ConfigString line = config_file + " " + ExecutionEnvironment::get_binary_name(); + if (config_file.is_executable()) { + ConfigString line = config_file.to_os_specific() + " " + + ExecutionEnvironment::get_binary_name(); if (microconfig_cat->is_spam()) microconfig_cat->spam() << "file is executable, running '" << line << "'" << endl; - ipfstream ifs(line); + IPipeStream ifs(line); ParseConfigFile(ifs, config_file); - } else - */{ + } else { if (microconfig_cat->is_spam()) microconfig_cat->spam() << "file is not executable, reading normally" << endl; diff --git a/dtool/src/dconfig/configTable.h b/dtool/src/dconfig/configTable.h index 6dc906eef3..155e3c2f22 100644 --- a/dtool/src/dconfig/configTable.h +++ b/dtool/src/dconfig/configTable.h @@ -73,6 +73,7 @@ class EXPCL_DTOOL ConfigTable { SymEnt Get(const ConfigString& sym, const ConfigString qual = ""); const Symbol& GetSym(const ConfigString& sym, const ConfigString qual = ""); + INLINE ConfigString GetConfigPath(void) const; }; #include "configTable.I"