update Sun Nov 22 12:37:00 PST 2009
[pkgsrc.git] / devel / pango / patches / patch-ac
1 $NetBSD: patch-ac,v 1.12 2009/11/22 19:14:42 sno Exp $
2
3 See https://bugzilla.gnome.org/show_bug.cgi?id=602408
4
5 --- pango/opentype/hb-open-type-private.hh.orig
6 +++ pango/opentype/hb-open-type-private.hh
7 @@ -258,7 +258,7 @@ _hb_sanitize_edit (SANITIZE_ARG_DEF,
8  #define NEUTER(Var, Val) \
9         (SANITIZE_OBJ (Var) && \
10          _hb_sanitize_edit (SANITIZE_ARG, CONST_CHARP(&(Var)), sizeof (Var)) && \
11 -        ((Var) = (Val), true))
12 +        ((Var).set (Val), true))
13  
14  
15  /* Template to sanitize an object. */
16 @@ -345,7 +345,7 @@ struct Sanitizer
17  #define _DEFINE_INT_TYPE1_UNALIGNED(NAME, TYPE, BIG_ENDIAN, BYTES) \
18    struct NAME \
19    { \
20 -    inline NAME& operator = (TYPE i) { (TYPE&) v = BIG_ENDIAN (i); return *this; } \
21 +    inline NAME& set (TYPE i) { (TYPE&) v = BIG_ENDIAN (i); return *this; } \
22      inline operator TYPE(void) const { return BIG_ENDIAN ((TYPE&) v); } \
23      inline bool operator== (NAME o) const { return (TYPE&) v == (TYPE&) o.v; } \
24      inline bool sanitize (SANITIZE_ARG_DEF) { \
25 @@ -359,7 +359,7 @@ struct Sanitizer
26  #define DEFINE_INT_TYPE1(NAME, TYPE, BIG_ENDIAN, BYTES) \
27    struct NAME \
28    { \
29 -    inline NAME& operator = (TYPE i) { BIG_ENDIAN##_put_unaligned(v, i); return *this; } \
30 +    inline NAME& set (TYPE i) { BIG_ENDIAN##_put_unaligned(v, i); return *this; } \
31      inline operator TYPE(void) const { return BIG_ENDIAN##_get_unaligned (v); } \
32      inline bool operator== (NAME o) const { return BIG_ENDIAN##_cmp_unaligned (v, o.v); } \
33      inline bool sanitize (SANITIZE_ARG_DEF) { \
34 @@ -384,7 +384,7 @@ DEFINE_INT_TYPE (LONG,        , 32);        /* 32-bit signed integer. */
35  struct Tag : ULONG
36  {
37    inline Tag (const Tag &o) { *(ULONG*)this = (ULONG&) o; }
38 -  inline Tag (uint32_t i) { *(ULONG*)this = i; }
39 +  inline Tag (uint32_t i) { (*(ULONG*)this).set (i); }
40    inline Tag (const char *c) { *(ULONG*)this = *(ULONG*)c; }
41    inline bool operator== (const char *c) const { return *(ULONG*)this == *(ULONG*)c; }
42    /* What the char* converters return is NOT nul-terminated.  Print using "%.4s" */