The existing code in the fopen() call aways fails with an invalid argument, so the if clause following it has never been run since this version of the code was in place.

Fixing this bug may expose other side effects as it is assuming that the first 4 bytes of an executable are not printable. I have not checked
if that is true for the ELF executables found on I64.

EAGLE> gdiff -u vms/vms.c_bug2 vms/vms.c
--- vms/vms.c_bug2      Fri Jul 29 10:15:32 2005
+++ vms/vms.c   Fri Jul 29 10:14:03 2005
@@ -5300,7 +5300,7 @@
       *s = '\0';

       /* check that it's really not DCL with no file extension */
-      fp = fopen(resspec,"r","ctx=bin,shr=get");
+      fp = fopen(resspec,"r","ctx=bin","shr=get");
       if (fp) {
         char b[4] = {0,0,0,0};
         read(fileno(fp),b,4);

-John
[EMAIL PROTECTED]
Personal Opinion Only

Reply via email to