static void *pdump_buf;
static FILE *pdump_out;
+#ifdef UTF2000
+#define PDUMP_HASHSIZE 20000001
+#else
#define PDUMP_HASHSIZE 200001
+#endif
static pdump_entry_list_elt **pdump_hash;
stderr_out ("Unsupported count type : %d (line = %d, code=%ld)\n",
idesc[line].type, line, (long)code);
pdump_backtrace ();
- abort ();
+ ABORT ();
}
count += delta;
return count;
default:
stderr_out ("Unsupported dump type : %d\n", desc[pos].type);
pdump_backtrace ();
- abort ();
+ ABORT ();
};
}
}
if (imp->description)
{
int me = depth++;
- if (me>65536)
+ if (me>=65536)
{
stderr_out ("Backtrace overflow, loop ?\n");
- abort ();
+ ABORT ();
}
backtrace[me].obj = objh;
backtrace[me].position = 0;
{
int me = depth++;
int i;
- if (me>65536)
+ if (me>=65536)
{
stderr_out ("Backtrace overflow, loop ?\n");
- abort ();
+ ABORT ();
}
backtrace[me].obj = 0;
backtrace[me].position = 0;
}
default:
stderr_out ("Unsupported dump type : %d\n", desc[pos].type);
- abort ();
+ ABORT ();
}
}
}
}
default:
stderr_out ("Unsupported dump type : %d\n", desc[pos].type);
- abort ();
+ ABORT ();
};
}
}
}
strcpy (w, name);
- /* ### #$%$#^$^@%$^#%@$ ! */
-#ifdef access
-#undef access
-#endif
+ /* Check that exe_path is executable and not a directory */
+#undef access /* avoid !@#$%^& encapsulated access */
+#undef stat /* avoid !@#$%^& encapsulated stat */
+ {
+ struct stat statbuf;
+ if (access (exe_path, X_OK) == 0
+ && stat (exe_path, &statbuf) == 0
+ && ! S_ISDIR (statbuf.st_mode))
+ break;
+ }
- if (!access (exe_path, X_OK))
- break;
if (!*p)
{
/* Oh well, let's have some kind of default */