Jelajahi Sumber

Don't return if /proc couldn't be read

rdb 15 tahun lalu
induk
melakukan
304dd37afa
1 mengubah file dengan 17 tambahan dan 20 penghapusan
  1. 17 20
      dtool/src/dtoolutil/executionEnvironment.cxx

+ 17 - 20
dtool/src/dtoolutil/executionEnvironment.cxx

@@ -659,35 +659,32 @@ read_args() {
   pifstream proc("/proc/curproc/cmdline");
   if (proc.fail()) {
     cerr << "Cannot read /proc/curproc/cmdline; command-line arguments unavailable to config.\n";
-    return;
-  }
 #else
   pifstream proc("/proc/self/cmdline");
   if (proc.fail()) {
     cerr << "Cannot read /proc/self/cmdline; command-line arguments unavailable to config.\n";
-    return;
-  }
 #endif
+  } else {
+    int ch = proc.get();
+    int index = 0;
+    while (!proc.eof() && !proc.fail()) {
+      string arg;
 
-  int ch = proc.get();
-  int index = 0;
-  while (!proc.eof() && !proc.fail()) {
-    string arg;
+      while (!proc.eof() && !proc.fail() && ch != '\0') {
+        arg += (char)ch;
+        ch = proc.get();
+      }
 
-    while (!proc.eof() && !proc.fail() && ch != '\0') {
-      arg += (char)ch;
-      ch = proc.get();
-    }
+      if (index == 0) {
+        if (_binary_name.empty())
+          _binary_name = arg;
+      } else {
+        _args.push_back(arg);
+      }
+      index++;
 
-    if (index == 0) {
-      if (_binary_name.empty())
-        _binary_name = arg;
-    } else {
-      _args.push_back(arg);
+      ch = proc.get();
     }
-    index++;
-
-    ch = proc.get();
   }
 #endif