Fix crash due to incorrect resolution of type of NSM characters (bug#5858).
[bpt/emacs.git] / src / gmalloc.c
index bd8fe34..6445c56 100644 (file)
@@ -122,7 +122,7 @@ extern __ptr_t calloc PP ((__malloc_size_t __nmemb, __malloc_size_t __size));
 extern void free PP ((__ptr_t __ptr));
 
 /* Allocate SIZE bytes allocated to ALIGNMENT bytes.  */
-#if ! (defined (_MALLOC_INTERNAL) && __DJGPP__ - 0 == 1) /* Avoid conflict.  */
+#if !defined (_MALLOC_INTERNAL) || defined (MSDOS) /* Avoid conflict.  */
 extern __ptr_t memalign PP ((__malloc_size_t __alignment,
                             __malloc_size_t __size));
 extern int posix_memalign PP ((__ptr_t *, __malloc_size_t,
@@ -911,7 +911,7 @@ _malloc_internal_nolock (size)
                 final free block; if so we don't need to get as much.  */
              if (_heaplimit != 0 && block + lastblocks == _heaplimit &&
                  /* We can't do this if we will have to make the heap info
-                     table bigger to accomodate the new space.  */
+                     table bigger to accommodate the new space.  */
                  block + wantblocks <= heapsize &&
                  get_contiguous_space ((wantblocks - lastblocks) * BLOCKSIZE,
                                        ADDRESS (block + lastblocks)))
@@ -1706,17 +1706,17 @@ MA 02110-1301, USA.  */
 #include <malloc.h>
 #endif
 
-#ifndef        __GNU_LIBRARY__
+/* uClibc defines __GNU_LIBRARY__, but it is not completely
+   compatible.  */
+#if !defined(__GNU_LIBRARY__) || defined(__UCLIBC__)
 #define        __sbrk  sbrk
-#endif
-
-#ifdef __GNU_LIBRARY__
+#else /* __GNU_LIBRARY__ && ! defined (__UCLIBC__) */
 /* It is best not to declare this and cast its result on foreign operating
    systems with potentially hostile include files.  */
 
 #include <stddef.h>
 extern __ptr_t __sbrk PP ((ptrdiff_t increment));
-#endif
+#endif /* __GNU_LIBRARY__ && ! defined (__UCLIBC__) */
 
 #ifndef NULL
 #define NULL 0
@@ -1763,13 +1763,6 @@ Fifth Floor, Boston, MA 02110-1301, USA.  */
 #include <malloc.h>
 #endif
 
-#if __DJGPP__ - 0 == 1
-
-/* There is some problem with memalign in DJGPP v1 and we are supposed
-   to omit it.  Noone told me why, they just told me to do it.  */
-
-#else
-
 __ptr_t (*__memalign_hook) PP ((__malloc_size_t __size,
                                __malloc_size_t __alignment));
 
@@ -1878,7 +1871,6 @@ posix_memalign (memptr, alignment, size)
   return 0;
 }
 
-#endif /* Not DJGPP v1 */
 /* Allocate memory on a page boundary.
    Copyright (C) 1991, 92, 93, 94, 96 Free Software Foundation, Inc.