summaryrefslogtreecommitdiff
path: root/src/runtime/c/gu/variant.h
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2014-02-09 19:07:15 +0000
committerkr.angelov <kr.angelov@gmail.com>2014-02-09 19:07:15 +0000
commitf30c60c3d7cfc2dbaca7e1ba0abf953b9c3caa63 (patch)
tree841b58fdfbf329abf65ca8c7755e2b89051b6134 /src/runtime/c/gu/variant.h
parent1d69feac38906eb49027d53a506aec6a2e4efc24 (diff)
GuVariant is now plain uintptr_t instead of a structure to make it easier to write Haskell bindings
Diffstat (limited to 'src/runtime/c/gu/variant.h')
-rw-r--r--src/runtime/c/gu/variant.h15
1 files changed, 4 insertions, 11 deletions
diff --git a/src/runtime/c/gu/variant.h b/src/runtime/c/gu/variant.h
index 91665279d..bc9f45315 100644
--- a/src/runtime/c/gu/variant.h
+++ b/src/runtime/c/gu/variant.h
@@ -33,7 +33,7 @@
* @{
*/
-typedef struct GuVariant GuVariant;
+typedef uintptr_t GuVariant;
void* gu_alloc_variant(uint8_t tag,
@@ -84,32 +84,25 @@ struct GuVariantInfo {
GuVariantInfo gu_variant_open(GuVariant variant);
GuVariant gu_variant_close(GuVariantInfo info);
-/** @privatesection */
-struct GuVariant {
- uintptr_t p;
- /**< @private */
-};
-
/** @} */
static inline void*
gu_variant_to_ptr(GuVariant variant)
{
- return (void*)variant.p;
+ return (void*) variant;
}
static inline GuVariant
gu_variant_from_ptr(const void* p)
{
- GuVariant v = { (uintptr_t)p };
- return v;
+ return (uintptr_t) p;
}
extern const GuVariant gu_null_variant;
static inline bool
gu_variant_is_null(GuVariant v) {
- return ((void*)v.p == NULL);
+ return ((void*)v == NULL);
}