| /******************************************************************* |
| * |
| * Copyright 2005 David Turner, The FreeType Project (www.freetype.org) |
| * Copyright 2007 Trolltech ASA |
| * Copyright 2007 Red Hat, Inc |
| * |
| * This is part of HarfBuzz, an OpenType Layout engine library. |
| * |
| * See the file name COPYING for licensing information. |
| * |
| ******************************************************************/ |
| #include "harfbuzz-impl.h" |
| |
| |
| HB_INTERNAL HB_Pointer |
| _hb_alloc( HB_UInt size, |
| HB_Error *perror ) |
| { |
| HB_Error error = 0; |
| HB_Pointer block = NULL; |
| |
| if ( size > 0 ) |
| { |
| block = malloc( size ); |
| if ( !block ) |
| error = ERR(HB_Err_Out_Of_Memory); |
| else |
| memset( (char*)block, 0, (size_t)size ); |
| } |
| |
| *perror = error; |
| return block; |
| } |
| |
| |
| HB_INTERNAL HB_Pointer |
| _hb_realloc( HB_Pointer block, |
| HB_UInt new_size, |
| HB_Error *perror ) |
| { |
| HB_Pointer block2 = NULL; |
| HB_Error error = 0; |
| |
| block2 = realloc( block, new_size ); |
| if ( block2 == NULL && new_size != 0 ) |
| error = ERR(HB_Err_Out_Of_Memory); |
| |
| if ( !error ) |
| block = block2; |
| |
| *perror = error; |
| return block; |
| } |
| |
| |
| HB_INTERNAL void |
| _hb_free( HB_Pointer block ) |
| { |
| if ( block ) |
| free( block ); |
| } |
| |
| |
| /* helper func to set a breakpoint on */ |
| HB_INTERNAL HB_Error |
| _hb_err (HB_Error code) |
| { |
| return code; |
| } |