Skip to content

Commit 4d2868e

Browse files
[#468] Support BASE64 as a value
1 parent 1ad9898 commit 4d2868e

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

src/include/value.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ enum value_type {
5454
ValueString,
5555
ValueFloat,
5656
ValueDouble,
57+
ValueBASE64,
5758
ValueJSON,
5859
ValueDeque,
5960
ValueART,

src/libpgagroal/json.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -564,6 +564,7 @@ type_allowed(enum value_type type)
564564
case ValueUInt64:
565565
case ValueBool:
566566
case ValueString:
567+
case ValueBASE64:
567568
case ValueFloat:
568569
case ValueDouble:
569570
case ValueJSON:
@@ -584,4 +585,3 @@ array_to_string(struct json* array, int32_t format, char* tag, int indent)
584585
{
585586
return pgagroal_deque_to_string(array->elements, format, tag, indent);
586587
}
587-

src/libpgagroal/value.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,9 @@ pgagroal_value_create(enum value_type type, uintptr_t data, struct value** value
114114
case ValueString:
115115
val->to_string = string_to_string_cb;
116116
break;
117+
case ValueBASE64:
118+
val->to_string = string_to_string_cb;
119+
break;
117120
case ValueJSON:
118121
val->to_string = json_to_string_cb;
119122
break;
@@ -131,16 +134,13 @@ pgagroal_value_create(enum value_type type, uintptr_t data, struct value** value
131134
{
132135
case ValueString:
133136
{
134-
char* orig = NULL;
135-
char* str = NULL;
136-
137-
orig = (char*) data;
138-
if (orig != NULL)
139-
{
140-
str = pgagroal_append(str, orig);
141-
}
142-
143-
val->data = (uintptr_t) str;
137+
val->data = (uintptr_t)pgagroal_append(NULL, (char*)data);
138+
val->destroy_data = free_destroy_cb;
139+
break;
140+
}
141+
case ValueBASE64:
142+
{
143+
val->data = (uintptr_t)pgagroal_append(NULL, (char*)data);
144144
val->destroy_data = free_destroy_cb;
145145
break;
146146
}

0 commit comments

Comments
 (0)