From de469cf718cd0220d325d20ee6ef6d5692cdc708 Mon Sep 17 00:00:00 2001 From: Josh Coalson Date: Fri, 11 May 2001 23:54:27 +0000 Subject: [PATCH] initial import --- src/libFLAC/include/private/memory.h | 30 +++++++++++++++++++++++++++ src/libFLAC/memory.c | 39 ++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 src/libFLAC/include/private/memory.h create mode 100644 src/libFLAC/memory.c diff --git a/src/libFLAC/include/private/memory.h b/src/libFLAC/include/private/memory.h new file mode 100644 index 0000000..6f300e2 --- /dev/null +++ b/src/libFLAC/include/private/memory.h @@ -0,0 +1,30 @@ +/* libFLAC - Free Lossless Audio Codec library + * Copyright (C) 2001 Josh Coalson + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef FLAC__PRIVATE__MEMORY_H +#define FLAC__PRIVATE__MEMORY_H + +#include /* for size_t */ + +/* Returns the unaligned address returned by malloc. + * Use free() on this address to deallocate. + */ +void *FLAC__memory_alloc(size_t bytes, void **aligned_address); + +#endif diff --git a/src/libFLAC/memory.c b/src/libFLAC/memory.c new file mode 100644 index 0000000..6e7f963 --- /dev/null +++ b/src/libFLAC/memory.c @@ -0,0 +1,39 @@ +/* libFLAC - Free Lossless Audio Codec library + * Copyright (C) 2001 Josh Coalson + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include +#include "private/memory.h" + +void *FLAC__memory_alloc(size_t bytes, void **aligned_address) +{ + void *x; + + assert(0 != aligned_address); + +#ifdef FLAC__ALIGN_MALLOC_DATA + /* align on 32-byte (256-bit) boundary */ + x = malloc(bytes+31); + *aligned_address = (void*)(((unsigned)x + 31) & -32); +fprintf(stderr, "FLAC__memory_alloc(unaligned=%p, aligned=%p)\n",x,*aligned_address); +#else + x = malloc(bytes); + *aligned_address = x; +#endif + return x; +} -- 2.7.4