# HG changeset patch # User Juanma Barranquero # Date 1035827403 0 # Node ID e81472bb504434ae610c25d21ee678a0d2896e82 # Parent b18665979968d82ad7c26d2dccd65010a55de88c Don't redefine _heap_init and _heap_term on MSVC 7 build environments. Patch from Jay Finger and Harald.Maier.BW@t-online.de. diff -r b18665979968 -r e81472bb5044 src/w32heap.c --- a/src/w32heap.c Mon Oct 28 15:04:57 2002 +0000 +++ b/src/w32heap.c Mon Oct 28 17:50:03 2002 +0000 @@ -58,9 +58,9 @@ void cache_system_info (void) { - union + union { - struct info + struct info { char major; char minor; @@ -157,11 +157,11 @@ { void *result; long size = (long) increment; - + result = data_region_end; - + /* If size is negative, shrink the heap by decommitting pages. */ - if (size < 0) + if (size < 0) { int new_size; unsigned char *new_data_region_end; @@ -172,7 +172,7 @@ if ((data_region_end - size) < data_region_base) return NULL; - /* We can only decommit full pages, so allow for + /* We can only decommit full pages, so allow for partial deallocation [cga]. */ new_data_region_end = (data_region_end - size); new_data_region_end = (unsigned char *) @@ -188,9 +188,9 @@ } data_region_end -= size; - } + } /* If size is positive, grow the heap by committing reserved pages. */ - else if (size > 0) + else if (size > 0) { /* Sanity checks. */ if ((data_region_end + size) > @@ -209,7 +209,7 @@ real_data_region_end = (unsigned char *) ((long) (data_region_end + syspage_mask) & ~syspage_mask); } - + return result; } @@ -232,7 +232,7 @@ PIMAGE_NT_HEADERS nt_header; dos_header = (PIMAGE_DOS_HEADER) RVA_TO_PTR (0); - nt_header = (PIMAGE_NT_HEADERS) (((unsigned long) dos_header) + + nt_header = (PIMAGE_NT_HEADERS) (((unsigned long) dos_header) + dos_header->e_lfanew); preload_heap_section = find_section ("EMHEAP", nt_header); @@ -247,7 +247,7 @@ /* Ensure that the addresses don't use the upper tag bits since the Lisp type goes there. */ - if (((unsigned long) data_region_base & ~VALMASK) != 0) + if (((unsigned long) data_region_base & ~VALMASK) != 0) { printf ("Error: The heap was allocated in upper memory.\n"); exit (1); @@ -274,15 +274,15 @@ { unsigned long needs_to_be; unsigned long need_to_alloc; - + needs_to_be = (unsigned long) ROUND_UP (get_heap_end (), align); need_to_alloc = needs_to_be - (unsigned long) get_heap_end (); - - if (need_to_alloc) + + if (need_to_alloc) sbrk (need_to_alloc); } -#if (_MSC_VER >= 1000 && !defined(USE_CRT_DLL)) +#if (_MSC_VER >= 1000 && _MSC_VER < 1300 && !defined(USE_CRT_DLL)) /* MSVC 4.2 invokes these functions from mainCRTStartup to initialize a heap via HeapCreate. They are normally defined by the runtime,