mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 03:32:51 -06:00
add gu_variant_close in libgu
This commit is contained in:
@@ -83,6 +83,20 @@ GuVariantInfo gu_variant_open(GuVariant variant)
|
|||||||
return info;
|
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
|
int
|
||||||
gu_variant_intval(GuVariant variant)
|
gu_variant_intval(GuVariant variant)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ struct GuVariantInfo {
|
|||||||
};
|
};
|
||||||
|
|
||||||
GuVariantInfo gu_variant_open(GuVariant variant);
|
GuVariantInfo gu_variant_open(GuVariant variant);
|
||||||
|
GuVariant gu_variant_close(GuVariantInfo info);
|
||||||
|
|
||||||
/** @privatesection */
|
/** @privatesection */
|
||||||
struct GuVariant {
|
struct GuVariant {
|
||||||
|
|||||||
Reference in New Issue
Block a user