Mercurial > pidgin.yaz
diff libgaim/stringref.c @ 14926:500a8f54354e
[gaim-migrate @ 17698]
Add extern "C" guards to header files which are missing it. This should fix problems similar to SF Bug #1592175. Also, while I was at it, I made the _GaimStringref definition private. It already had a warning to not use it directly, so it should really be safe to make private.
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Tue, 07 Nov 2006 20:40:22 +0000 |
parents | 60b1bc8dbf37 |
children |
line wrap: on
line diff
--- a/libgaim/stringref.c Tue Nov 07 19:54:02 2006 +0000 +++ b/libgaim/stringref.c Tue Nov 07 20:40:22 2006 +0000 @@ -32,6 +32,27 @@ #include "debug.h" #include "stringref.h" +/** + * The internal representation of a stringref. + * + * @note For this structure to be useful, the string contained within + * it must be immutable -- for this reason, do _not_ access it + * directly! + */ +struct _GaimStringref { + guint32 ref; /**< The reference count of this string. + * Note that reference counts are only + * 31 bits, and the high-order bit + * indicates whether this string is up + * for GC at the next idle handler... + * But you aren't going to touch this + * anyway, right? */ + char value[1]; /**< The string contained in this ref. + * Notice that it is simply "hanging + * off the end" of the ref ... this + * is to save an allocation. */ +}; + #define REFCOUNT(x) ((x) & 0x7fffffff) static GList *gclist = NULL;