Cary Sandvig hace 25 años
padre
commit
5ca922b0ff

+ 4 - 0
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;
+}

+ 5 - 6
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;

+ 1 - 0
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"