feat: variant now has a string_size field

This commit is contained in:
Sara 2024-01-25 00:05:58 +01:00
parent c4dc2a8ccc
commit ae25ebdaa0

View file

@ -14,6 +14,7 @@ typedef enum VariantType {
typedef struct Variant { typedef struct Variant {
VariantType type; VariantType type;
size_t string_size;
union { union {
double as_number; double as_number;
Vector as_vector; Vector as_vector;
@ -25,6 +26,7 @@ typedef struct Variant {
#define NumberVariant(Value_) (Variant){.type = Variant_Number, .as_number = Value_} #define NumberVariant(Value_) (Variant){.type = Variant_Number, .as_number = Value_}
#define VectorVariant(Value_) (Variant){.type = Variant_Vector, .as_vector = Value_} #define VectorVariant(Value_) (Variant){.type = Variant_Vector, .as_vector = Value_}
#define ObjectVariant(Value_) (Variant){.type = Variant_Object, .as_object = 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 } #define UndefinedVariant() (Variant){.type = Variant_Undefined }
#endif // !_fencer_variant_h #endif // !_fencer_variant_h