From 1f605b82ba66ece8b421b10d41094dd2e3c0c48b Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Fri, 30 Dec 2022 10:59:25 +0100 Subject: Change argument of appendBinaryStringInfo from char * to void * There is some code that uses this function to assemble some kind of packed binary layout, which requires a bunch of casts because of this. Functions taking binary data plus length should take void * instead, like memcpy() for example. Discussion: https://www.postgresql.org/message-id/flat/a0086cfc-ff0f-2827-20fe-52b591d2666c%40enterprisedb.com --- src/backend/utils/adt/jsonpath.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'src/backend/utils/adt/jsonpath.c') diff --git a/src/backend/utils/adt/jsonpath.c b/src/backend/utils/adt/jsonpath.c index f37d60f6935..0b412315147 100644 --- a/src/backend/utils/adt/jsonpath.c +++ b/src/backend/utils/adt/jsonpath.c @@ -267,18 +267,18 @@ flattenJsonPathParseItem(StringInfo buf, int *result, struct Node *escontext, case jpiString: case jpiVariable: case jpiKey: - appendBinaryStringInfo(buf, (char *) &item->value.string.len, + appendBinaryStringInfo(buf, &item->value.string.len, sizeof(item->value.string.len)); appendBinaryStringInfo(buf, item->value.string.val, item->value.string.len); appendStringInfoChar(buf, '\0'); break; case jpiNumeric: - appendBinaryStringInfo(buf, (char *) item->value.numeric, + appendBinaryStringInfo(buf, item->value.numeric, VARSIZE(item->value.numeric)); break; case jpiBool: - appendBinaryStringInfo(buf, (char *) &item->value.boolean, + appendBinaryStringInfo(buf, &item->value.boolean, sizeof(item->value.boolean)); break; case jpiAnd: @@ -328,11 +328,11 @@ flattenJsonPathParseItem(StringInfo buf, int *result, struct Node *escontext, int32 offs; appendBinaryStringInfo(buf, - (char *) &item->value.like_regex.flags, + &item->value.like_regex.flags, sizeof(item->value.like_regex.flags)); offs = reserveSpaceForItemPointer(buf); appendBinaryStringInfo(buf, - (char *) &item->value.like_regex.patternlen, + &item->value.like_regex.patternlen, sizeof(item->value.like_regex.patternlen)); appendBinaryStringInfo(buf, item->value.like_regex.pattern, item->value.like_regex.patternlen); @@ -393,7 +393,7 @@ flattenJsonPathParseItem(StringInfo buf, int *result, struct Node *escontext, int offset; int i; - appendBinaryStringInfo(buf, (char *) &nelems, sizeof(nelems)); + appendBinaryStringInfo(buf, &nelems, sizeof(nelems)); offset = buf->len; @@ -431,10 +431,10 @@ flattenJsonPathParseItem(StringInfo buf, int *result, struct Node *escontext, break; case jpiAny: appendBinaryStringInfo(buf, - (char *) &item->value.anybounds.first, + &item->value.anybounds.first, sizeof(item->value.anybounds.first)); appendBinaryStringInfo(buf, - (char *) &item->value.anybounds.last, + &item->value.anybounds.last, sizeof(item->value.anybounds.last)); break; case jpiType: @@ -496,7 +496,7 @@ reserveSpaceForItemPointer(StringInfo buf) int32 pos = buf->len; int32 ptr = 0; - appendBinaryStringInfo(buf, (char *) &ptr, sizeof(ptr)); + appendBinaryStringInfo(buf, &ptr, sizeof(ptr)); return pos; } -- cgit v1.2.3