diff options
author | Owen Taylor <otaylor@redhat.com> | 2003-09-15 22:04:55 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2003-09-15 22:04:55 +0000 |
commit | 61b5b3323ef2ff06b21397b800a3c0ab3ab8f987 (patch) | |
tree | 4be90bfcdb18840b842769a01dd66cf4b27067c5 /pango | |
parent | 5f81d3ae5f627bd8c9afe7e393ac1905f82ef711 (diff) | |
download | pango-61b5b3323ef2ff06b21397b800a3c0ab3ab8f987.tar.gz |
Fix gcc-3.3 versions of macros to have the right return value.
Mon Sep 15 17:16:59 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/fterrcompat.h: Fix gcc-3.3 versions of
macros to have the right return value.
Diffstat (limited to 'pango')
-rw-r--r-- | pango/opentype/fterrcompat.h | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/pango/opentype/fterrcompat.h b/pango/opentype/fterrcompat.h index f439293f..27b99751 100644 --- a/pango/opentype/fterrcompat.h +++ b/pango/opentype/fterrcompat.h @@ -34,30 +34,38 @@ * use them when necessary */ #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) -#define ALLOC_ARRAY( _pointer_, _count_, _type_ ) ({ \ - void *_tmp_; \ - FT_SET_ERROR (FT_MEM_ALLOC_ARRAY( _tmp_, _count_, _type_ )); \ - _pointer_ = _tmp_; \ +#define ALLOC_ARRAY( _pointer_, _count_, _type_ ) ({ \ + int result; \ + void *_tmp_; \ + result = FT_SET_ERROR ( FT_MEM_ALLOC_ARRAY ( _tmp_, \ + _count_, \ + _type_ ) ); \ + _pointer_ = _tmp_; \ + result; \ }) /* FT_MEM_REALLOC macro broken in 2.1.0 */ -#define REALLOC_ARRAY( _pointer_, _old_, _new_, _type_ ) ({ \ - void *_tmp_; \ - FT_SET_ERROR ( FT_MEM_REALLOC( _tmp_, \ - (_old_) * sizeof ( _type_ ), \ - (_new_) * sizeof ( _type_ ) ) ); \ - _pointer_ = _tmp_; \ +#define REALLOC_ARRAY( _pointer_, _old_, _new_, _type_ ) ({ \ + int result; \ + void *_tmp_ = _pointer_; \ + result = FT_SET_ERROR ( FT_MEM_REALLOC( _tmp_, \ + (_old_) * sizeof ( _type_ ), \ + (_new_) * sizeof ( _type_ ) ) ); \ + _pointer_ = _tmp_; \ + result; \ }) -#define FREE( _pointer_ ) ({ \ - void *_tmp_ = _pointer_; \ - FT_FREE ( _tmp_ ); \ - _pointer_ = _tmp_; \ +#define FREE( _pointer_ ) ({ \ + void *_tmp_ = _pointer_; \ + FT_FREE ( _tmp_ ); \ + _pointer_ = _tmp_; \ }) -#define ALLOC( _pointer_, _size_ ) ({ \ - void *_tmp_; \ - FT_ALLOC( _tmp_, _size_ ); \ - _pointer_ = _tmp_; \ +#define ALLOC( _pointer_, _size_ ) ({ \ + int result; \ + void *_tmp_; \ + result = FT_ALLOC( _tmp_, _size_ ); \ + _pointer_ = _tmp_; \ + result; \ }) #else #define ALLOC_ARRAY( _pointer_, _count_, _type_ ) \ |