(check_memory_limits) [REL_ALLOC]: Use real_morecore
when non-NULL instead of __morecore, to take account of buffer memory. This also solves a problem with spurious memory warnings on Windows.
This commit is contained in:
parent
321ed47b16
commit
968e9c040a
1 changed files with 9 additions and 0 deletions
|
@ -50,8 +50,12 @@ static void (*warn_function) ();
|
|||
static void
|
||||
check_memory_limits ()
|
||||
{
|
||||
#ifdef REL_ALLOC
|
||||
extern POINTER (*real_morecore) ();
|
||||
#endif
|
||||
extern POINTER (*__morecore) ();
|
||||
|
||||
|
||||
register POINTER cp;
|
||||
unsigned long five_percent;
|
||||
unsigned long data_size;
|
||||
|
@ -61,6 +65,11 @@ check_memory_limits ()
|
|||
five_percent = lim_data / 20;
|
||||
|
||||
/* Find current end of memory and issue warning if getting near max */
|
||||
#ifdef REL_ALLOC
|
||||
if (real_morecore)
|
||||
cp = (char *) (*real_morecore) (0);
|
||||
else
|
||||
#endif
|
||||
cp = (char *) (*__morecore) (0);
|
||||
data_size = (char *) cp - (char *) data_space_start;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue