Mercurial > hg > xemacs-beta
comparison src/opaque.c @ 173:8eaf7971accc r20-3b13
Import from CVS: tag r20-3b13
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:49:09 +0200 |
parents | 376386a54a3c |
children | 3d6bfa290dbd |
comparison
equal
deleted
inserted
replaced
172:a38aed19690b | 173:8eaf7971accc |
---|---|
74 markings, so we better not have non-freed opaques on a free | 74 markings, so we better not have non-freed opaques on a free |
75 list. */ | 75 list. */ |
76 assert (!INTP (XOPAQUE (obj)->size_or_chain)); | 76 assert (!INTP (XOPAQUE (obj)->size_or_chain)); |
77 #endif | 77 #endif |
78 if (INTP (XOPAQUE (obj)->size_or_chain) && XOPAQUE_MARKFUN (obj)) | 78 if (INTP (XOPAQUE (obj)->size_or_chain) && XOPAQUE_MARKFUN (obj)) |
79 return (XOPAQUE_MARKFUN (obj)) (obj, markobj); | 79 return XOPAQUE_MARKFUN (obj) (obj, markobj); |
80 else | 80 else |
81 return XOPAQUE (obj)->size_or_chain; | 81 return XOPAQUE (obj)->size_or_chain; |
82 } | 82 } |
83 | 83 |
84 /* Should never, ever be called. (except by an external debugger) */ | 84 /* Should never, ever be called. (except by an external debugger) */ |
85 static void | 85 static void |
86 print_opaque (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag) | 86 print_opaque (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag) |
87 { | 87 { |
88 char buf[200]; | 88 char buf[200]; |
89 if (INTP (XOPAQUE (obj)->size_or_chain)) | 89 if (INTP (XOPAQUE (obj)->size_or_chain)) |
90 sprintf (buf, "#<INTERNAL EMACS BUG (opaque, size=%d) 0x%x>", | 90 sprintf (buf, "#<INTERNAL EMACS BUG (opaque, size=%ld) 0x%p>", |
91 (EMACS_INT) XOPAQUE_SIZE (obj), | 91 (long) XOPAQUE_SIZE (obj), (void *) XPNTR (obj)); |
92 (EMACS_INT) XPNTR (obj)); | 92 else |
93 else | 93 sprintf (buf, "#<INTERNAL EMACS BUG (opaque, freed) 0x%p>", |
94 sprintf (buf, "#<INTERNAL EMACS BUG (opaque, freed) 0x%x>", | 94 (void *) XPNTR (obj)); |
95 (EMACS_INT) XPNTR (obj)); | |
96 write_c_string (buf, printcharfun); | 95 write_c_string (buf, printcharfun); |
97 } | 96 } |
98 | 97 |
99 static unsigned int | 98 static unsigned int |
100 sizeof_opaque (CONST void *header) | 99 sizeof_opaque (CONST void *header) |