/* * Copyright (C) 2003 - 2016 Sony Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "ldac.h" /*************************************************************************************************** Align Memory ***************************************************************************************************/ #define LDAC_ALLOC_LINE 8 DECLFUNC size_t align_ldac( size_t size) { if (LDAC_ALLOC_LINE != 0) { size = (((size-1)/LDAC_ALLOC_LINE)+1) * LDAC_ALLOC_LINE; } return size; } /*************************************************************************************************** Clear Allocate Memory ***************************************************************************************************/ DECLFUNC void *calloc_ldac( SFINFO *p_sfinfo, size_t nmemb, size_t size) { char *p_tmp; if (p_sfinfo->p_mempos != (char *)NULL) { p_tmp = p_sfinfo->p_mempos; p_sfinfo->p_mempos += nmemb * align_ldac(size); } else { p_tmp = calloc(nmemb, size); } return (void *)p_tmp; }