Skip to content

Commit f98765f

Browse files
committed
jsonb internal API void * argument for binary data
Change some internal jsonb API functions to take void * for binary data instead of char *. This removes the need for numerous casts. Reviewed-by: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org> Discussion: https://www.postgresql.org/message-id/flat/fd1fcedb-3492-4fc8-9e3e-74b97f2db6c7%40eisentraut.org
1 parent cb45dc3 commit f98765f

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/backend/utils/adt/jsonb_util.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ static void convertJsonbObject(StringInfo buffer, JEntry *header, JsonbValue *va
4848
static void convertJsonbScalar(StringInfo buffer, JEntry *header, JsonbValue *scalarVal);
4949

5050
static int reserveFromBuffer(StringInfo buffer, int len);
51-
static void appendToBuffer(StringInfo buffer, const char *data, int len);
52-
static void copyToBuffer(StringInfo buffer, int offset, const char *data, int len);
51+
static void appendToBuffer(StringInfo buffer, const void *data, int len);
52+
static void copyToBuffer(StringInfo buffer, int offset, const void *data, int len);
5353
static short padBufferToInt(StringInfo buffer);
5454

5555
static JsonbIterator *iteratorFromContainer(JsonbContainer *container, JsonbIterator *parent);
@@ -1508,7 +1508,7 @@ reserveFromBuffer(StringInfo buffer, int len)
15081508
* Copy 'len' bytes to a previously reserved area in buffer.
15091509
*/
15101510
static void
1511-
copyToBuffer(StringInfo buffer, int offset, const char *data, int len)
1511+
copyToBuffer(StringInfo buffer, int offset, const void *data, int len)
15121512
{
15131513
memcpy(buffer->data + offset, data, len);
15141514
}
@@ -1517,7 +1517,7 @@ copyToBuffer(StringInfo buffer, int offset, const char *data, int len)
15171517
* A shorthand for reserveFromBuffer + copyToBuffer.
15181518
*/
15191519
static void
1520-
appendToBuffer(StringInfo buffer, const char *data, int len)
1520+
appendToBuffer(StringInfo buffer, const void *data, int len)
15211521
{
15221522
int offset;
15231523

@@ -1646,7 +1646,7 @@ convertJsonbArray(StringInfo buffer, JEntry *header, JsonbValue *val, int level)
16461646
containerhead |= JB_FSCALAR;
16471647
}
16481648

1649-
appendToBuffer(buffer, (char *) &containerhead, sizeof(uint32));
1649+
appendToBuffer(buffer, &containerhead, sizeof(uint32));
16501650

16511651
/* Reserve space for the JEntries of the elements. */
16521652
jentry_offset = reserveFromBuffer(buffer, sizeof(JEntry) * nElems);
@@ -1684,7 +1684,7 @@ convertJsonbArray(StringInfo buffer, JEntry *header, JsonbValue *val, int level)
16841684
if ((i % JB_OFFSET_STRIDE) == 0)
16851685
meta = (meta & JENTRY_TYPEMASK) | totallen | JENTRY_HAS_OFF;
16861686

1687-
copyToBuffer(buffer, jentry_offset, (char *) &meta, sizeof(JEntry));
1687+
copyToBuffer(buffer, jentry_offset, &meta, sizeof(JEntry));
16881688
jentry_offset += sizeof(JEntry);
16891689
}
16901690

@@ -1723,7 +1723,7 @@ convertJsonbObject(StringInfo buffer, JEntry *header, JsonbValue *val, int level
17231723
* variable-length payload.
17241724
*/
17251725
containerheader = nPairs | JB_FOBJECT;
1726-
appendToBuffer(buffer, (char *) &containerheader, sizeof(uint32));
1726+
appendToBuffer(buffer, &containerheader, sizeof(uint32));
17271727

17281728
/* Reserve space for the JEntries of the keys and values. */
17291729
jentry_offset = reserveFromBuffer(buffer, sizeof(JEntry) * nPairs * 2);
@@ -1765,7 +1765,7 @@ convertJsonbObject(StringInfo buffer, JEntry *header, JsonbValue *val, int level
17651765
if ((i % JB_OFFSET_STRIDE) == 0)
17661766
meta = (meta & JENTRY_TYPEMASK) | totallen | JENTRY_HAS_OFF;
17671767

1768-
copyToBuffer(buffer, jentry_offset, (char *) &meta, sizeof(JEntry));
1768+
copyToBuffer(buffer, jentry_offset, &meta, sizeof(JEntry));
17691769
jentry_offset += sizeof(JEntry);
17701770
}
17711771
for (i = 0; i < nPairs; i++)
@@ -1800,7 +1800,7 @@ convertJsonbObject(StringInfo buffer, JEntry *header, JsonbValue *val, int level
18001800
if (((i + nPairs) % JB_OFFSET_STRIDE) == 0)
18011801
meta = (meta & JENTRY_TYPEMASK) | totallen | JENTRY_HAS_OFF;
18021802

1803-
copyToBuffer(buffer, jentry_offset, (char *) &meta, sizeof(JEntry));
1803+
copyToBuffer(buffer, jentry_offset, &meta, sizeof(JEntry));
18041804
jentry_offset += sizeof(JEntry);
18051805
}
18061806

@@ -1840,7 +1840,7 @@ convertJsonbScalar(StringInfo buffer, JEntry *header, JsonbValue *scalarVal)
18401840
numlen = VARSIZE_ANY(scalarVal->val.numeric);
18411841
padlen = padBufferToInt(buffer);
18421842

1843-
appendToBuffer(buffer, (char *) scalarVal->val.numeric, numlen);
1843+
appendToBuffer(buffer, scalarVal->val.numeric, numlen);
18441844

18451845
*header = JENTRY_ISNUMERIC | (padlen + numlen);
18461846
break;

0 commit comments

Comments
 (0)