| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright (C) 1998-2004 David Turner and Werner Lemberg | |
| 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | |
| 4 * Copyright (C) 2007 Red Hat, Inc. | |
| 5 * | |
| 6 * This is part of HarfBuzz, an OpenType Layout engine library. | |
| 7 * | |
| 8 * Permission is hereby granted, without written agreement and without | |
| 9 * license or royalty fees, to use, copy, modify, and distribute this | |
| 10 * software and its documentation for any purpose, provided that the | |
| 11 * above copyright notice and the following two paragraphs appear in | |
| 12 * all copies of this software. | |
| 13 * | |
| 14 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR | |
| 15 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES | |
| 16 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN | |
| 17 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH | |
| 18 * DAMAGE. | |
| 19 * | |
| 20 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, | |
| 21 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | |
| 22 * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS | |
| 23 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO | |
| 24 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. | |
| 25 * | |
| 26 * Red Hat Author(s): Behdad Esfahbod | |
| 27 */ | |
| 28 | |
| 29 #include "harfbuzz-impl.h" | |
| 30 | |
| 31 | |
| 32 HB_INTERNAL HB_Pointer | |
| 33 _hb_alloc(size_t size, | |
| 34 HB_Error *perror ) | |
| 35 { | |
| 36 HB_Error error = (HB_Error)0; | |
| 37 HB_Pointer block = NULL; | |
| 38 | |
| 39 if ( size > 0 ) | |
| 40 { | |
| 41 block = calloc( 1, size ); | |
| 42 if ( !block ) | |
| 43 error = ERR(HB_Err_Out_Of_Memory); | |
| 44 } | |
| 45 | |
| 46 *perror = error; | |
| 47 return block; | |
| 48 } | |
| 49 | |
| 50 | |
| 51 HB_INTERNAL HB_Pointer | |
| 52 _hb_realloc(HB_Pointer block, | |
| 53 size_t new_size, | |
| 54 HB_Error *perror ) | |
| 55 { | |
| 56 HB_Pointer block2 = NULL; | |
| 57 HB_Error error = (HB_Error)0; | |
| 58 | |
| 59 block2 = realloc( block, new_size ); | |
| 60 if ( block2 == NULL && new_size != 0 ) | |
| 61 error = ERR(HB_Err_Out_Of_Memory); | |
| 62 | |
| 63 if ( !error ) | |
| 64 block = block2; | |
| 65 | |
| 66 *perror = error; | |
| 67 return block; | |
| 68 } | |
| 69 | |
| 70 | |
| 71 HB_INTERNAL void | |
| 72 _hb_free( HB_Pointer block ) | |
| 73 { | |
| 74 if ( block ) | |
| 75 free( block ); | |
| 76 } | |
| 77 | |
| 78 | |
| 79 /* helper func to set a breakpoint on */ | |
| 80 HB_INTERNAL HB_Error | |
| 81 _hb_err (HB_Error code) | |
| 82 { | |
| 83 return code; | |
| 84 } | |
| OLD | NEW |