forked from GitHub/gf-core
add gu_variant_close in libgu
This commit is contained in:
@@ -83,6 +83,20 @@ GuVariantInfo gu_variant_open(GuVariant variant)
|
||||
return info;
|
||||
}
|
||||
|
||||
GuVariant gu_variant_close(GuVariantInfo info)
|
||||
{
|
||||
GuVariant variant;
|
||||
|
||||
if (((size_t)info.tag) > GU_VARIANT_ALIGNMENT - 2) {
|
||||
variant.p = (uintptr_t)info.data;
|
||||
assert(gu_variant_tag(variant) == info.tag);
|
||||
} else {
|
||||
variant.p = ((uintptr_t)info.data) | (info.tag + 1);
|
||||
}
|
||||
|
||||
return variant;
|
||||
}
|
||||
|
||||
int
|
||||
gu_variant_intval(GuVariant variant)
|
||||
{
|
||||
|
||||
@@ -82,6 +82,7 @@ struct GuVariantInfo {
|
||||
};
|
||||
|
||||
GuVariantInfo gu_variant_open(GuVariant variant);
|
||||
GuVariant gu_variant_close(GuVariantInfo info);
|
||||
|
||||
/** @privatesection */
|
||||
struct GuVariant {
|
||||
|
||||
Reference in New Issue
Block a user