Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Unified Diff: fusl/src/malloc/memalign.c

Issue 1714623002: [fusl] clang-format fusl (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: headers too Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: fusl/src/malloc/memalign.c
diff --git a/fusl/src/malloc/memalign.c b/fusl/src/malloc/memalign.c
index 112dd9d67054811b2c75bed7752f5702bcbfc142..2444706e5940ba7eec9c39e684c2aaa6ebb503c6 100644
--- a/fusl/src/malloc/memalign.c
+++ b/fusl/src/malloc/memalign.c
@@ -7,51 +7,51 @@
* systems, but it's only guaranteed to work with the native implementation
* used in this library. */
-void *__memalign(size_t align, size_t len)
-{
- unsigned char *mem, *new, *end;
- size_t header, footer;
-
- if ((align & -align) != align) {
- errno = EINVAL;
- return NULL;
- }
-
- if (len > SIZE_MAX - align) {
- errno = ENOMEM;
- return NULL;
- }
-
- if (align <= 4*sizeof(size_t)) {
- if (!(mem = malloc(len)))
- return NULL;
- return mem;
- }
-
- if (!(mem = malloc(len + align-1)))
- return NULL;
-
- new = (void *)((uintptr_t)mem + align-1 & -align);
- if (new == mem) return mem;
-
- header = ((size_t *)mem)[-1];
-
- if (!(header & 7)) {
- ((size_t *)new)[-2] = ((size_t *)mem)[-2] + (new-mem);
- ((size_t *)new)[-1] = ((size_t *)mem)[-1] - (new-mem);
- return new;
- }
-
- end = mem + (header & -8);
- footer = ((size_t *)end)[-2];
-
- ((size_t *)mem)[-1] = (header&7) | new-mem;
- ((size_t *)new)[-2] = (footer&7) | new-mem;
- ((size_t *)new)[-1] = (header&7) | end-new;
- ((size_t *)end)[-2] = (footer&7) | end-new;
-
- free(mem);
- return new;
+void* __memalign(size_t align, size_t len) {
+ unsigned char *mem, *new, *end;
+ size_t header, footer;
+
+ if ((align & -align) != align) {
+ errno = EINVAL;
+ return NULL;
+ }
+
+ if (len > SIZE_MAX - align) {
+ errno = ENOMEM;
+ return NULL;
+ }
+
+ if (align <= 4 * sizeof(size_t)) {
+ if (!(mem = malloc(len)))
+ return NULL;
+ return mem;
+ }
+
+ if (!(mem = malloc(len + align - 1)))
+ return NULL;
+
+ new = (void*)((uintptr_t)mem + align - 1 & -align);
+ if (new == mem)
+ return mem;
+
+ header = ((size_t*)mem)[-1];
+
+ if (!(header & 7)) {
+ ((size_t*)new)[-2] = ((size_t*)mem)[-2] + (new - mem);
+ ((size_t*)new)[-1] = ((size_t*)mem)[-1] - (new - mem);
+ return new;
+ }
+
+ end = mem + (header & -8);
+ footer = ((size_t*)end)[-2];
+
+ ((size_t*)mem)[-1] = (header & 7) | new - mem;
+ ((size_t*)new)[-2] = (footer & 7) | new - mem;
+ ((size_t*)new)[-1] = (header & 7) | end - new;
+ ((size_t*)end)[-2] = (footer & 7) | end - new;
+
+ free(mem);
+ return new;
}
weak_alias(__memalign, memalign);

Powered by Google App Engine
This is Rietveld 408576698