1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  */
9 
10 #include <oslmemory.h>
11 
12 #include <stdlib.h>
13 #ifdef __ANDROID__
14 #include <malloc.h>
15 #endif
16 
osl_aligned_alloc(sal_Size align,sal_Size size)17 void* osl_aligned_alloc(sal_Size align, sal_Size size)
18 {
19     if (size == 0)
20     {
21         return nullptr;
22     }
23 
24 #if defined __ANDROID__
25     return memalign(align, size);
26 #else
27     void* ptr;
28     int err = posix_memalign(&ptr, align, size);
29     return err ? nullptr : ptr;
30 #endif
31 }
32 
osl_aligned_free(void * p)33 void osl_aligned_free(void* p) { free(p); }
34 
35 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
36