e2fsprogs: add posix_memalign related portability patch from #8508
SVN-Revision: 32112
This commit is contained in:
parent
639ee81002
commit
68031593c8
1 changed files with 31 additions and 0 deletions
31
tools/e2fsprogs/patches/005-posix_memalign.patch
Normal file
31
tools/e2fsprogs/patches/005-posix_memalign.patch
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
--- a/lib/ext2fs/ext2fs.h
|
||||||
|
+++ b/lib/ext2fs/ext2fs.h
|
||||||
|
@@ -1212,7 +1212,26 @@
|
||||||
|
|
||||||
|
if (align == 0)
|
||||||
|
align = 8;
|
||||||
|
- if (retval = posix_memalign((void **) ptr, align, size)) {
|
||||||
|
+#ifdef HAVE_POSIX_MEMALIGN
|
||||||
|
+ retval = posix_memalign((void **)ptr, align, size);
|
||||||
|
+#else
|
||||||
|
+#ifdef HAVE_MEMALIGN
|
||||||
|
+ if ((*(void **)ptr = (void *)memalign(align, size)) == NULL)
|
||||||
|
+ retval = errno;
|
||||||
|
+ else
|
||||||
|
+ retval = 0;
|
||||||
|
+#else
|
||||||
|
+#ifdef HAVE_VALLOC
|
||||||
|
+ if ((*(void **)ptr = valloc(size)) == NULL)
|
||||||
|
+ retval = errno;
|
||||||
|
+ else
|
||||||
|
+ retval = 0;
|
||||||
|
+#else
|
||||||
|
+# error "Impossible to allocate aligned memory!"
|
||||||
|
+#endif /* HAVE_VALLOC */
|
||||||
|
+#endif /* HAVE_MEMALIGN */
|
||||||
|
+#endif /* HAVE_POSIX_MEMALIGN */
|
||||||
|
+ if (retval) {
|
||||||
|
if (retval == ENOMEM)
|
||||||
|
return EXT2_ET_NO_MEMORY;
|
||||||
|
return retval;
|
||||||
|
--
|
Loading…
Reference in a new issue