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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy