- /* I don't understand what's going on there, but on MacOS X,
- we're getting insane values for lomem and himem. Is there
- more than one heap? */
- if ((unsigned long) himem - (unsigned long) lomem > 0x0FFFFFFF)
+ if (!lomem || !himem)
+ {
+ /* bad craziness! give up! */
+ st->seed_mode = SEED_RANDOM;
+ return 0;
+ }
+
+ /* I don't understand what's going on there, but on MacOS X, we're
+ getting insane values for lomem and himem (both Xlib and HAVE_COCOA).
+ Does malloc() draw from more than one heap? */
+ if ((unsigned long) himem - (unsigned long) lomem > 0x0FFFFFFF) {
+# if 0
+ fprintf (stderr, "%s: wonky: 0x%08x - 0x%08x = 0x%08x\n", progname,
+ (unsigned long) himem, (unsigned long) lomem,
+ (unsigned long) himem - (unsigned long) lomem);
+# endif