diff --git a/core/src/variant.h b/core/src/variant.h index b7b4a9e..d20b7ec 100644 --- a/core/src/variant.h +++ b/core/src/variant.h @@ -14,6 +14,7 @@ typedef enum VariantType { typedef struct Variant { VariantType type; + size_t string_size; union { double as_number; Vector as_vector; @@ -25,6 +26,7 @@ typedef struct Variant { #define NumberVariant(Value_) (Variant){.type = Variant_Number, .as_number = Value_} #define VectorVariant(Value_) (Variant){.type = Variant_Vector, .as_vector = Value_} #define ObjectVariant(Value_) (Variant){.type = Variant_Object, .as_object = Value_} +#define StringVariant(Value_, BufSize_) (Variant){.type = Variant_String, .as_string = Value_, .string_size = BufSize_} #define UndefinedVariant() (Variant){.type = Variant_Undefined } #endif // !_fencer_variant_h