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)17void* 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)33void osl_aligned_free(void* p) { free(p); } 34 35 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 36