diff options
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/adminpack/adminpack.c | 16 | ||||
-rw-r--r-- | contrib/dblink/dblink.c | 10 | ||||
-rw-r--r-- | contrib/fuzzystrmatch/dmetaphone.c | 4 | ||||
-rw-r--r-- | contrib/fuzzystrmatch/fuzzystrmatch.c | 6 | ||||
-rw-r--r-- | contrib/intarray/_int_op.c | 6 | ||||
-rw-r--r-- | contrib/pageinspect/btreefuncs.c | 6 | ||||
-rw-r--r-- | contrib/pageinspect/rawpage.c | 10 | ||||
-rw-r--r-- | contrib/pg_prewarm/pg_prewarm.c | 4 | ||||
-rw-r--r-- | contrib/pg_trgm/trgm_gin.c | 15 | ||||
-rw-r--r-- | contrib/pg_trgm/trgm_gist.c | 17 | ||||
-rw-r--r-- | contrib/pg_trgm/trgm_op.c | 12 | ||||
-rw-r--r-- | contrib/pgcrypto/pgcrypto.c | 94 | ||||
-rw-r--r-- | contrib/pgcrypto/pgp-pgsql.c | 100 | ||||
-rw-r--r-- | contrib/pgrowlocks/pgrowlocks.c | 2 | ||||
-rw-r--r-- | contrib/pgstattuple/pgstatindex.c | 8 | ||||
-rw-r--r-- | contrib/pgstattuple/pgstattuple.c | 4 | ||||
-rw-r--r-- | contrib/sepgsql/label.c | 4 | ||||
-rw-r--r-- | contrib/spi/autoinc.c | 2 | ||||
-rw-r--r-- | contrib/sslinfo/sslinfo.c | 4 | ||||
-rw-r--r-- | contrib/unaccent/unaccent.c | 6 | ||||
-rw-r--r-- | contrib/uuid-ossp/uuid-ossp.c | 8 | ||||
-rw-r--r-- | contrib/xml2/xpath.c | 42 | ||||
-rw-r--r-- | contrib/xml2/xslt_proc.c | 14 |
23 files changed, 198 insertions, 196 deletions
diff --git a/contrib/adminpack/adminpack.c b/contrib/adminpack/adminpack.c index a63ff36f05c..10338f951ff 100644 --- a/contrib/adminpack/adminpack.c +++ b/contrib/adminpack/adminpack.c @@ -124,8 +124,8 @@ pg_file_write(PG_FUNCTION_ARGS) requireSuperuser(); - filename = convert_and_check_filename(PG_GETARG_TEXT_P(0), false); - data = PG_GETARG_TEXT_P(1); + filename = convert_and_check_filename(PG_GETARG_TEXT_PP(0), false); + data = PG_GETARG_TEXT_PP(1); if (!PG_GETARG_BOOL(2)) { @@ -147,8 +147,8 @@ pg_file_write(PG_FUNCTION_ARGS) errmsg("could not open file \"%s\" for writing: %m", filename))); - count = fwrite(VARDATA(data), 1, VARSIZE(data) - VARHDRSZ, f); - if (count != VARSIZE(data) - VARHDRSZ || FreeFile(f)) + count = fwrite(VARDATA_ANY(data), 1, VARSIZE_ANY_EXHDR(data), f); + if (count != VARSIZE_ANY_EXHDR(data) || FreeFile(f)) ereport(ERROR, (errcode_for_file_access(), errmsg("could not write file \"%s\": %m", filename))); @@ -170,12 +170,12 @@ pg_file_rename(PG_FUNCTION_ARGS) if (PG_ARGISNULL(0) || PG_ARGISNULL(1)) PG_RETURN_NULL(); - fn1 = convert_and_check_filename(PG_GETARG_TEXT_P(0), false); - fn2 = convert_and_check_filename(PG_GETARG_TEXT_P(1), false); + fn1 = convert_and_check_filename(PG_GETARG_TEXT_PP(0), false); + fn2 = convert_and_check_filename(PG_GETARG_TEXT_PP(1), false); if (PG_ARGISNULL(2)) fn3 = 0; else - fn3 = convert_and_check_filename(PG_GETARG_TEXT_P(2), false); + fn3 = convert_and_check_filename(PG_GETARG_TEXT_PP(2), false); if (access(fn1, W_OK) < 0) { @@ -254,7 +254,7 @@ pg_file_unlink(PG_FUNCTION_ARGS) requireSuperuser(); - filename = convert_and_check_filename(PG_GETARG_TEXT_P(0), false); + filename = convert_and_check_filename(PG_GETARG_TEXT_PP(0), false); if (access(filename, W_OK) < 0) { diff --git a/contrib/dblink/dblink.c b/contrib/dblink/dblink.c index eba6f274dc6..1266a775306 100644 --- a/contrib/dblink/dblink.c +++ b/contrib/dblink/dblink.c @@ -1502,7 +1502,7 @@ dblink_get_pkey(PG_FUNCTION_ARGS) oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); /* open target relation */ - rel = get_rel_from_relname(PG_GETARG_TEXT_P(0), AccessShareLock, ACL_SELECT); + rel = get_rel_from_relname(PG_GETARG_TEXT_PP(0), AccessShareLock, ACL_SELECT); /* get the array of attnums */ results = get_pkey_attnames(rel, &numatts); @@ -1603,7 +1603,7 @@ PG_FUNCTION_INFO_V1(dblink_build_sql_insert); Datum dblink_build_sql_insert(PG_FUNCTION_ARGS) { - text *relname_text = PG_GETARG_TEXT_P(0); + text *relname_text = PG_GETARG_TEXT_PP(0); int2vector *pkattnums_arg = (int2vector *) PG_GETARG_POINTER(1); int32 pknumatts_arg = PG_GETARG_INT32(2); ArrayType *src_pkattvals_arry = PG_GETARG_ARRAYTYPE_P(3); @@ -1694,7 +1694,7 @@ PG_FUNCTION_INFO_V1(dblink_build_sql_delete); Datum dblink_build_sql_delete(PG_FUNCTION_ARGS) { - text *relname_text = PG_GETARG_TEXT_P(0); + text *relname_text = PG_GETARG_TEXT_PP(0); int2vector *pkattnums_arg = (int2vector *) PG_GETARG_POINTER(1); int32 pknumatts_arg = PG_GETARG_INT32(2); ArrayType *tgt_pkattvals_arry = PG_GETARG_ARRAYTYPE_P(3); @@ -1771,7 +1771,7 @@ PG_FUNCTION_INFO_V1(dblink_build_sql_update); Datum dblink_build_sql_update(PG_FUNCTION_ARGS) { - text *relname_text = PG_GETARG_TEXT_P(0); + text *relname_text = PG_GETARG_TEXT_PP(0); int2vector *pkattnums_arg = (int2vector *) PG_GETARG_POINTER(1); int32 pknumatts_arg = PG_GETARG_INT32(2); ArrayType *src_pkattvals_arry = PG_GETARG_ARRAYTYPE_P(3); @@ -2338,7 +2338,7 @@ quote_ident_cstr(char *rawstr) char *result; rawstr_text = cstring_to_text(rawstr); - result_text = DatumGetTextP(DirectFunctionCall1(quote_ident, + result_text = DatumGetTextPP(DirectFunctionCall1(quote_ident, PointerGetDatum(rawstr_text))); result = text_to_cstring(result_text); diff --git a/contrib/fuzzystrmatch/dmetaphone.c b/contrib/fuzzystrmatch/dmetaphone.c index f210869acbd..4e89983afda 100644 --- a/contrib/fuzzystrmatch/dmetaphone.c +++ b/contrib/fuzzystrmatch/dmetaphone.c @@ -139,7 +139,7 @@ dmetaphone(PG_FUNCTION_ARGS) if (PG_ARGISNULL(0)) PG_RETURN_NULL(); #endif - arg = PG_GETARG_TEXT_P(0); + arg = PG_GETARG_TEXT_PP(0); aptr = text_to_cstring(arg); DoubleMetaphone(aptr, codes); @@ -168,7 +168,7 @@ dmetaphone_alt(PG_FUNCTION_ARGS) if (PG_ARGISNULL(0)) PG_RETURN_NULL(); #endif - arg = PG_GETARG_TEXT_P(0); + arg = PG_GETARG_TEXT_PP(0); aptr = text_to_cstring(arg); DoubleMetaphone(aptr, codes); diff --git a/contrib/fuzzystrmatch/fuzzystrmatch.c b/contrib/fuzzystrmatch/fuzzystrmatch.c index bd36fc57dc3..f1bb7bca732 100644 --- a/contrib/fuzzystrmatch/fuzzystrmatch.c +++ b/contrib/fuzzystrmatch/fuzzystrmatch.c @@ -736,7 +736,7 @@ soundex(PG_FUNCTION_ARGS) char outstr[SOUNDEX_LEN + 1]; char *arg; - arg = text_to_cstring(PG_GETARG_TEXT_P(0)); + arg = text_to_cstring(PG_GETARG_TEXT_PP(0)); _soundex(arg, outstr); @@ -802,8 +802,8 @@ difference(PG_FUNCTION_ARGS) int i, result; - _soundex(text_to_cstring(PG_GETARG_TEXT_P(0)), sndx1); - _soundex(text_to_cstring(PG_GETARG_TEXT_P(1)), sndx2); + _soundex(text_to_cstring(PG_GETARG_TEXT_PP(0)), sndx1); + _soundex(text_to_cstring(PG_GETARG_TEXT_PP(1)), sndx2); result = 0; for (i = 0; i < SOUNDEX_LEN; i++) diff --git a/contrib/intarray/_int_op.c b/contrib/intarray/_int_op.c index 537174175b2..c30d3c8269f 100644 --- a/contrib/intarray/_int_op.c +++ b/contrib/intarray/_int_op.c @@ -200,9 +200,9 @@ Datum sort(PG_FUNCTION_ARGS) { ArrayType *a = PG_GETARG_ARRAYTYPE_P_COPY(0); - text *dirstr = (fcinfo->nargs == 2) ? PG_GETARG_TEXT_P(1) : NULL; - int32 dc = (dirstr) ? VARSIZE(dirstr) - VARHDRSZ : 0; - char *d = (dirstr) ? VARDATA(dirstr) : NULL; + text *dirstr = (fcinfo->nargs == 2) ? PG_GETARG_TEXT_PP(1) : NULL; + int32 dc = (dirstr) ? VARSIZE_ANY_EXHDR(dirstr) : 0; + char *d = (dirstr) ? VARDATA_ANY(dirstr) : NULL; int dir = -1; CHECKARRVALID(a); diff --git a/contrib/pageinspect/btreefuncs.c b/contrib/pageinspect/btreefuncs.c index d50ec3a68d9..6f35e288fd1 100644 --- a/contrib/pageinspect/btreefuncs.c +++ b/contrib/pageinspect/btreefuncs.c @@ -159,7 +159,7 @@ GetBTPageStatistics(BlockNumber blkno, Buffer buffer, BTPageStat *stat) Datum bt_page_stats(PG_FUNCTION_ARGS) { - text *relname = PG_GETARG_TEXT_P(0); + text *relname = PG_GETARG_TEXT_PP(0); uint32 blkno = PG_GETARG_UINT32(1); Buffer buffer; Relation rel; @@ -256,7 +256,7 @@ struct user_args Datum bt_page_items(PG_FUNCTION_ARGS) { - text *relname = PG_GETARG_TEXT_P(0); + text *relname = PG_GETARG_TEXT_PP(0); uint32 blkno = PG_GETARG_UINT32(1); Datum result; char *values[6]; @@ -408,7 +408,7 @@ bt_page_items(PG_FUNCTION_ARGS) Datum bt_metap(PG_FUNCTION_ARGS) { - text *relname = PG_GETARG_TEXT_P(0); + text *relname = PG_GETARG_TEXT_PP(0); Datum result; Relation rel; RangeVar *relrv; diff --git a/contrib/pageinspect/rawpage.c b/contrib/pageinspect/rawpage.c index 1ccc3ff3204..a5def917511 100644 --- a/contrib/pageinspect/rawpage.c +++ b/contrib/pageinspect/rawpage.c @@ -45,7 +45,7 @@ PG_FUNCTION_INFO_V1(get_raw_page); Datum get_raw_page(PG_FUNCTION_ARGS) { - text *relname = PG_GETARG_TEXT_P(0); + text *relname = PG_GETARG_TEXT_PP(0); uint32 blkno = PG_GETARG_UINT32(1); bytea *raw_page; @@ -74,8 +74,8 @@ PG_FUNCTION_INFO_V1(get_raw_page_fork); Datum get_raw_page_fork(PG_FUNCTION_ARGS) { - text *relname = PG_GETARG_TEXT_P(0); - text *forkname = PG_GETARG_TEXT_P(1); + text *relname = PG_GETARG_TEXT_PP(0); + text *forkname = PG_GETARG_TEXT_PP(1); uint32 blkno = PG_GETARG_UINT32(2); bytea *raw_page; ForkNumber forknum; @@ -184,7 +184,7 @@ get_page_from_raw(bytea *raw_page) Page page; int raw_page_size; - raw_page_size = VARSIZE(raw_page) - VARHDRSZ; + raw_page_size = VARSIZE_ANY_EXHDR(raw_page); if (raw_page_size != BLCKSZ) ereport(ERROR, @@ -195,7 +195,7 @@ get_page_from_raw(bytea *raw_page) page = palloc(raw_page_size); - memcpy(page, VARDATA(raw_page), raw_page_size); + memcpy(page, VARDATA_ANY(raw_page), raw_page_size); return page; } diff --git a/contrib/pg_prewarm/pg_prewarm.c b/contrib/pg_prewarm/pg_prewarm.c index 52ea004e7f1..78d71ab0785 100644 --- a/contrib/pg_prewarm/pg_prewarm.c +++ b/contrib/pg_prewarm/pg_prewarm.c @@ -79,7 +79,7 @@ pg_prewarm(PG_FUNCTION_ARGS) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), (errmsg("prewarm type cannot be null")))); - type = PG_GETARG_TEXT_P(1); + type = PG_GETARG_TEXT_PP(1); ttype = text_to_cstring(type); if (strcmp(ttype, "prefetch") == 0) ptype = PREWARM_PREFETCH; @@ -99,7 +99,7 @@ pg_prewarm(PG_FUNCTION_ARGS) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), (errmsg("relation fork cannot be null")))); - forkName = PG_GETARG_TEXT_P(2); + forkName = PG_GETARG_TEXT_PP(2); forkString = text_to_cstring(forkName); forkNumber = forkname_to_number(forkString); diff --git a/contrib/pg_trgm/trgm_gin.c b/contrib/pg_trgm/trgm_gin.c index ead33ef5447..e4b3daea446 100644 --- a/contrib/pg_trgm/trgm_gin.c +++ b/contrib/pg_trgm/trgm_gin.c @@ -35,7 +35,7 @@ gin_extract_trgm(PG_FUNCTION_ARGS) Datum gin_extract_value_trgm(PG_FUNCTION_ARGS) { - text *val = (text *) PG_GETARG_TEXT_P(0); + text *val = (text *) PG_GETARG_TEXT_PP(0); int32 *nentries = (int32 *) PG_GETARG_POINTER(1); Datum *entries = NULL; TRGM *trg; @@ -43,7 +43,7 @@ gin_extract_value_trgm(PG_FUNCTION_ARGS) *nentries = 0; - trg = generate_trgm(VARDATA(val), VARSIZE(val) - VARHDRSZ); + trg = generate_trgm(VARDATA_ANY(val), VARSIZE_ANY_EXHDR(val)); trglen = ARRNELEM(trg); if (trglen > 0) @@ -70,7 +70,7 @@ gin_extract_value_trgm(PG_FUNCTION_ARGS) Datum gin_extract_query_trgm(PG_FUNCTION_ARGS) { - text *val = (text *) PG_GETARG_TEXT_P(0); + text *val = (text *) PG_GETARG_TEXT_PP(0); int32 *nentries = (int32 *) PG_GETARG_POINTER(1); StrategyNumber strategy = PG_GETARG_UINT16(2); @@ -90,7 +90,7 @@ gin_extract_query_trgm(PG_FUNCTION_ARGS) { case SimilarityStrategyNumber: case WordSimilarityStrategyNumber: - trg = generate_trgm(VARDATA(val), VARSIZE(val) - VARHDRSZ); + trg = generate_trgm(VARDATA_ANY(val), VARSIZE_ANY_EXHDR(val)); break; case ILikeStrategyNumber: #ifndef IGNORECASE @@ -103,7 +103,8 @@ gin_extract_query_trgm(PG_FUNCTION_ARGS) * For wildcard search we extract all the trigrams that every * potentially-matching string must include. */ - trg = generate_wildcard_trgm(VARDATA(val), VARSIZE(val) - VARHDRSZ); + trg = generate_wildcard_trgm(VARDATA_ANY(val), + VARSIZE_ANY_EXHDR(val)); break; case RegExpICaseStrategyNumber: #ifndef IGNORECASE @@ -170,7 +171,7 @@ gin_trgm_consistent(PG_FUNCTION_ARGS) bool *check = (bool *) PG_GETARG_POINTER(0); StrategyNumber strategy = PG_GETARG_UINT16(1); - /* text *query = PG_GETARG_TEXT_P(2); */ + /* text *query = PG_GETARG_TEXT_PP(2); */ int32 nkeys = PG_GETARG_INT32(3); Pointer *extra_data = (Pointer *) PG_GETARG_POINTER(4); bool *recheck = (bool *) PG_GETARG_POINTER(5); @@ -268,7 +269,7 @@ gin_trgm_triconsistent(PG_FUNCTION_ARGS) GinTernaryValue *check = (GinTernaryValue *) PG_GETARG_POINTER(0); StrategyNumber strategy = PG_GETARG_UINT16(1); - /* text *query = PG_GETARG_TEXT_P(2); */ + /* text *query = PG_GETARG_TEXT_PP(2); */ int32 nkeys = PG_GETARG_INT32(3); Pointer *extra_data = (Pointer *) PG_GETARG_POINTER(4); GinTernaryValue res = GIN_MAYBE; diff --git a/contrib/pg_trgm/trgm_gist.c b/contrib/pg_trgm/trgm_gist.c index f52867df324..ed02af875ca 100644 --- a/contrib/pg_trgm/trgm_gist.c +++ b/contrib/pg_trgm/trgm_gist.c @@ -100,9 +100,9 @@ gtrgm_compress(PG_FUNCTION_ARGS) if (entry->leafkey) { /* trgm */ TRGM *res; - text *val = DatumGetTextP(entry->key); + text *val = DatumGetTextPP(entry->key); - res = generate_trgm(VARDATA(val), VARSIZE(val) - VARHDRSZ); + res = generate_trgm(VARDATA_ANY(val), VARSIZE_ANY_EXHDR(val)); retval = (GISTENTRY *) palloc(sizeof(GISTENTRY)); gistentryinit(*retval, PointerGetDatum(res), entry->rel, entry->page, @@ -142,7 +142,7 @@ gtrgm_decompress(PG_FUNCTION_ARGS) GISTENTRY *retval; text *key; - key = DatumGetTextP(entry->key); + key = DatumGetTextPP(entry->key); if (key != (text *) DatumGetPointer(entry->key)) { @@ -200,11 +200,12 @@ gtrgm_consistent(PG_FUNCTION_ARGS) * depends on strategy. * * The cached structure is a single palloc chunk containing the - * gtrgm_consistent_cache header, then the input query (starting at a - * MAXALIGN boundary), then the TRGM value (also starting at a MAXALIGN - * boundary). However we don't try to include the regex graph (if any) in - * that struct. (XXX currently, this approach can leak regex graphs - * across index rescans. Not clear if that's worth fixing.) + * gtrgm_consistent_cache header, then the input query (4-byte length + * word, uncompressed, starting at a MAXALIGN boundary), then the TRGM + * value (also starting at a MAXALIGN boundary). However we don't try to + * include the regex graph (if any) in that struct. (XXX currently, this + * approach can leak regex graphs across index rescans. Not clear if + * that's worth fixing.) */ cache = (gtrgm_consistent_cache *) fcinfo->flinfo->fn_extra; if (cache == NULL || diff --git a/contrib/pg_trgm/trgm_op.c b/contrib/pg_trgm/trgm_op.c index 368e7c8941d..e9a713113ed 100644 --- a/contrib/pg_trgm/trgm_op.c +++ b/contrib/pg_trgm/trgm_op.c @@ -878,14 +878,14 @@ trgm2int(trgm *ptr) Datum show_trgm(PG_FUNCTION_ARGS) { - text *in = PG_GETARG_TEXT_P(0); + text *in = PG_GETARG_TEXT_PP(0); TRGM *trg; Datum *d; ArrayType *a; trgm *ptr; int i; - trg = generate_trgm(VARDATA(in), VARSIZE(in) - VARHDRSZ); + trg = generate_trgm(VARDATA_ANY(in), VARSIZE_ANY_EXHDR(in)); d = (Datum *) palloc(sizeof(Datum) * (1 + ARRNELEM(trg))); for (i = 0, ptr = GETARR(trg); i < ARRNELEM(trg); i++, ptr++) @@ -1053,14 +1053,14 @@ trgm_presence_map(TRGM *query, TRGM *key) Datum similarity(PG_FUNCTION_ARGS) { - text *in1 = PG_GETARG_TEXT_P(0); - text *in2 = PG_GETARG_TEXT_P(1); + text *in1 = PG_GETARG_TEXT_PP(0); + text *in2 = PG_GETARG_TEXT_PP(1); TRGM *trg1, *trg2; float4 res; - trg1 = generate_trgm(VARDATA(in1), VARSIZE(in1) - VARHDRSZ); - trg2 = generate_trgm(VARDATA(in2), VARSIZE(in2) - VARHDRSZ); + trg1 = generate_trgm(VARDATA_ANY(in1), VARSIZE_ANY_EXHDR(in1)); + trg2 = generate_trgm(VARDATA_ANY(in2), VARSIZE_ANY_EXHDR(in2)); res = cnt_sml(trg1, trg2, false); diff --git a/contrib/pgcrypto/pgcrypto.c b/contrib/pgcrypto/pgcrypto.c index d815de30734..ccfdc20ed72 100644 --- a/contrib/pgcrypto/pgcrypto.c +++ b/contrib/pgcrypto/pgcrypto.c @@ -62,7 +62,7 @@ pg_digest(PG_FUNCTION_ARGS) PX_MD *md; bytea *res; - name = PG_GETARG_TEXT_P(1); + name = PG_GETARG_TEXT_PP(1); /* will give error if fails */ md = find_provider(name, (PFN) px_find_digest, "Digest", 0); @@ -72,10 +72,10 @@ pg_digest(PG_FUNCTION_ARGS) res = (text *) palloc(hlen + VARHDRSZ); SET_VARSIZE(res, hlen + VARHDRSZ); - arg = PG_GETARG_BYTEA_P(0); - len = VARSIZE(arg) - VARHDRSZ; + arg = PG_GETARG_BYTEA_PP(0); + len = VARSIZE_ANY_EXHDR(arg); - px_md_update(md, (uint8 *) VARDATA(arg), len); + px_md_update(md, (uint8 *) VARDATA_ANY(arg), len); px_md_finish(md, (uint8 *) VARDATA(res)); px_md_free(md); @@ -100,7 +100,7 @@ pg_hmac(PG_FUNCTION_ARGS) PX_HMAC *h; bytea *res; - name = PG_GETARG_TEXT_P(2); + name = PG_GETARG_TEXT_PP(2); /* will give error if fails */ h = find_provider(name, (PFN) px_find_hmac, "HMAC", 0); @@ -110,13 +110,13 @@ pg_hmac(PG_FUNCTION_ARGS) res = (text *) palloc(hlen + VARHDRSZ); SET_VARSIZE(res, hlen + VARHDRSZ); - arg = PG_GETARG_BYTEA_P(0); - key = PG_GETARG_BYTEA_P(1); - len = VARSIZE(arg) - VARHDRSZ; - klen = VARSIZE(key) - VARHDRSZ; + arg = PG_GETARG_BYTEA_PP(0); + key = PG_GETARG_BYTEA_PP(1); + len = VARSIZE_ANY_EXHDR(arg); + klen = VARSIZE_ANY_EXHDR(key); - px_hmac_init(h, (uint8 *) VARDATA(key), klen); - px_hmac_update(h, (uint8 *) VARDATA(arg), len); + px_hmac_init(h, (uint8 *) VARDATA_ANY(key), klen); + px_hmac_update(h, (uint8 *) VARDATA_ANY(arg), len); px_hmac_finish(h, (uint8 *) VARDATA(res)); px_hmac_free(h); @@ -228,20 +228,20 @@ pg_encrypt(PG_FUNCTION_ARGS) klen, rlen; - type = PG_GETARG_TEXT_P(2); + type = PG_GETARG_TEXT_PP(2); c = find_provider(type, (PFN) px_find_combo, "Cipher", 0); - data = PG_GETARG_BYTEA_P(0); - key = PG_GETARG_BYTEA_P(1); - dlen = VARSIZE(data) - VARHDRSZ; - klen = VARSIZE(key) - VARHDRSZ; + data = PG_GETARG_BYTEA_PP(0); + key = PG_GETARG_BYTEA_PP(1); + dlen = VARSIZE_ANY_EXHDR(data); + klen = VARSIZE_ANY_EXHDR(key); rlen = px_combo_encrypt_len(c, dlen); res = palloc(VARHDRSZ + rlen); - err = px_combo_init(c, (uint8 *) VARDATA(key), klen, NULL, 0); + err = px_combo_init(c, (uint8 *) VARDATA_ANY(key), klen, NULL, 0); if (!err) - err = px_combo_encrypt(c, (uint8 *) VARDATA(data), dlen, + err = px_combo_encrypt(c, (uint8 *) VARDATA_ANY(data), dlen, (uint8 *) VARDATA(res), &rlen); px_combo_free(c); @@ -277,20 +277,20 @@ pg_decrypt(PG_FUNCTION_ARGS) klen, rlen; - type = PG_GETARG_TEXT_P(2); + type = PG_GETARG_TEXT_PP(2); c = find_provider(type, (PFN) px_find_combo, "Cipher", 0); - data = PG_GETARG_BYTEA_P(0); - key = PG_GETARG_BYTEA_P(1); - dlen = VARSIZE(data) - VARHDRSZ; - klen = VARSIZE(key) - VARHDRSZ; + data = PG_GETARG_BYTEA_PP(0); + key = PG_GETARG_BYTEA_PP(1); + dlen = VARSIZE_ANY_EXHDR(data); + klen = VARSIZE_ANY_EXHDR(key); rlen = px_combo_decrypt_len(c, dlen); res = palloc(VARHDRSZ + rlen); - err = px_combo_init(c, (uint8 *) VARDATA(key), klen, NULL, 0); + err = px_combo_init(c, (uint8 *) VARDATA_ANY(key), klen, NULL, 0); if (!err) - err = px_combo_decrypt(c, (uint8 *) VARDATA(data), dlen, + err = px_combo_decrypt(c, (uint8 *) VARDATA_ANY(data), dlen, (uint8 *) VARDATA(res), &rlen); px_combo_free(c); @@ -327,23 +327,23 @@ pg_encrypt_iv(PG_FUNCTION_ARGS) ivlen, rlen; - type = PG_GETARG_TEXT_P(3); + type = PG_GETARG_TEXT_PP(3); c = find_provider(type, (PFN) px_find_combo, "Cipher", 0); - data = PG_GETARG_BYTEA_P(0); - key = PG_GETARG_BYTEA_P(1); - iv = PG_GETARG_BYTEA_P(2); - dlen = VARSIZE(data) - VARHDRSZ; - klen = VARSIZE(key) - VARHDRSZ; - ivlen = VARSIZE(iv) - VARHDRSZ; + data = PG_GETARG_BYTEA_PP(0); + key = PG_GETARG_BYTEA_PP(1); + iv = PG_GETARG_BYTEA_PP(2); + dlen = VARSIZE_ANY_EXHDR(data); + klen = VARSIZE_ANY_EXHDR(key); + ivlen = VARSIZE_ANY_EXHDR(iv); rlen = px_combo_encrypt_len(c, dlen); res = palloc(VARHDRSZ + rlen); - err = px_combo_init(c, (uint8 *) VARDATA(key), klen, - (uint8 *) VARDATA(iv), ivlen); + err = px_combo_init(c, (uint8 *) VARDATA_ANY(key), klen, + (uint8 *) VARDATA_ANY(iv), ivlen); if (!err) - err = px_combo_encrypt(c, (uint8 *) VARDATA(data), dlen, + err = px_combo_encrypt(c, (uint8 *) VARDATA_ANY(data), dlen, (uint8 *) VARDATA(res), &rlen); px_combo_free(c); @@ -381,23 +381,23 @@ pg_decrypt_iv(PG_FUNCTION_ARGS) rlen, ivlen; - type = PG_GETARG_TEXT_P(3); + type = PG_GETARG_TEXT_PP(3); c = find_provider(type, (PFN) px_find_combo, "Cipher", 0); - data = PG_GETARG_BYTEA_P(0); - key = PG_GETARG_BYTEA_P(1); - iv = PG_GETARG_BYTEA_P(2); - dlen = VARSIZE(data) - VARHDRSZ; - klen = VARSIZE(key) - VARHDRSZ; - ivlen = VARSIZE(iv) - VARHDRSZ; + data = PG_GETARG_BYTEA_PP(0); + key = PG_GETARG_BYTEA_PP(1); + iv = PG_GETARG_BYTEA_PP(2); + dlen = VARSIZE_ANY_EXHDR(data); + klen = VARSIZE_ANY_EXHDR(key); + ivlen = VARSIZE_ANY_EXHDR(iv); rlen = px_combo_decrypt_len(c, dlen); res = palloc(VARHDRSZ + rlen); - err = px_combo_init(c, (uint8 *) VARDATA(key), klen, - (uint8 *) VARDATA(iv), ivlen); + err = px_combo_init(c, (uint8 *) VARDATA_ANY(key), klen, + (uint8 *) VARDATA_ANY(iv), ivlen); if (!err) - err = px_combo_decrypt(c, (uint8 *) VARDATA(data), dlen, + err = px_combo_decrypt(c, (uint8 *) VARDATA_ANY(data), dlen, (uint8 *) VARDATA(res), &rlen); px_combo_free(c); @@ -480,8 +480,8 @@ find_provider(text *name, char *buf; int err; - buf = downcase_truncate_identifier(VARDATA(name), - VARSIZE(name) - VARHDRSZ, + buf = downcase_truncate_identifier(VARDATA_ANY(name), + VARSIZE_ANY_EXHDR(name), false); err = provider_lookup(buf, &res); diff --git a/contrib/pgcrypto/pgp-pgsql.c b/contrib/pgcrypto/pgp-pgsql.c index ce16db71d87..cc5df14725e 100644 --- a/contrib/pgcrypto/pgp-pgsql.c +++ b/contrib/pgcrypto/pgp-pgsql.c @@ -67,9 +67,9 @@ PG_FUNCTION_INFO_V1(pgp_armor_headers); static text * convert_charset(text *src, int cset_from, int cset_to) { - int src_len = VARSIZE(src) - VARHDRSZ; + int src_len = VARSIZE_ANY_EXHDR(src); unsigned char *dst; - unsigned char *csrc = (unsigned char *) VARDATA(src); + unsigned char *csrc = (unsigned char *) VARDATA_ANY(src); text *res; dst = pg_do_encoding_conversion(csrc, src_len, cset_from, cset_to); @@ -109,7 +109,7 @@ string_is_ascii(const char *str) static void clear_and_pfree(text *p) { - px_memset(p, 0, VARSIZE(p)); + px_memset(p, 0, VARSIZE_ANY(p)); pfree(p); } @@ -356,8 +356,8 @@ parse_args(PGP_Context *ctx, uint8 *args, int arg_len, static MBuf * create_mbuf_from_vardata(text *data) { - return mbuf_create_from_data((uint8 *) VARDATA(data), - VARSIZE(data) - VARHDRSZ); + return mbuf_create_from_data((uint8 *) VARDATA_ANY(data), + VARSIZE_ANY_EXHDR(data)); } static void @@ -369,8 +369,8 @@ init_work(PGP_Context **ctx_p, int is_text, fill_expect(ex, is_text); if (err == 0 && args != NULL) - err = parse_args(*ctx_p, (uint8 *) VARDATA(args), - VARSIZE(args) - VARHDRSZ, ex); + err = parse_args(*ctx_p, (uint8 *) VARDATA_ANY(args), + VARSIZE_ANY_EXHDR(args), ex); if (err) px_THROW_ERROR(err); @@ -408,7 +408,7 @@ encrypt_internal(int is_pubenc, int is_text, } src = create_mbuf_from_vardata(data); - dst = mbuf_create(VARSIZE(data) + 128); + dst = mbuf_create(VARSIZE_ANY(data) + 128); /* * reserve room for header @@ -427,8 +427,8 @@ encrypt_internal(int is_pubenc, int is_text, mbuf_free(kbuf); } else - err = pgp_set_symkey(ctx, (uint8 *) VARDATA(key), - VARSIZE(key) - VARHDRSZ); + err = pgp_set_symkey(ctx, (uint8 *) VARDATA_ANY(key), + VARSIZE_ANY_EXHDR(key)); /* * encrypt @@ -485,9 +485,9 @@ decrypt_internal(int is_pubenc, int need_text, text *data, init_work(&ctx, need_text, args, &ex); - src = mbuf_create_from_data((uint8 *) VARDATA(data), - VARSIZE(data) - VARHDRSZ); - dst = mbuf_create(VARSIZE(data) + 2048); + src = mbuf_create_from_data((uint8 *) VARDATA_ANY(data), + VARSIZE_ANY_EXHDR(data)); + dst = mbuf_create(VARSIZE_ANY(data) + 2048); /* * reserve room for header @@ -505,16 +505,16 @@ decrypt_internal(int is_pubenc, int need_text, text *data, if (keypsw) { - psw = (uint8 *) VARDATA(keypsw); - psw_len = VARSIZE(keypsw) - VARHDRSZ; + psw = (uint8 *) VARDATA_ANY(keypsw); + psw_len = VARSIZE_ANY_EXHDR(keypsw); } kbuf = create_mbuf_from_vardata(key); err = pgp_set_pubkey(ctx, kbuf, psw, psw_len, 1); mbuf_free(kbuf); } else - err = pgp_set_symkey(ctx, (uint8 *) VARDATA(key), - VARSIZE(key) - VARHDRSZ); + err = pgp_set_symkey(ctx, (uint8 *) VARDATA_ANY(key), + VARSIZE_ANY_EXHDR(key)); /* decrypt */ if (err >= 0) @@ -571,10 +571,10 @@ pgp_sym_encrypt_bytea(PG_FUNCTION_ARGS) text *arg = NULL; text *res; - data = PG_GETARG_BYTEA_P(0); - key = PG_GETARG_BYTEA_P(1); + data = PG_GETARG_BYTEA_PP(0); + key = PG_GETARG_BYTEA_PP(1); if (PG_NARGS() > 2) - arg = PG_GETARG_BYTEA_P(2); + arg = PG_GETARG_BYTEA_PP(2); res = encrypt_internal(0, 0, data, key, arg); @@ -593,10 +593,10 @@ pgp_sym_encrypt_text(PG_FUNCTION_ARGS) text *arg = NULL; text *res; - data = PG_GETARG_BYTEA_P(0); - key = PG_GETARG_BYTEA_P(1); + data = PG_GETARG_BYTEA_PP(0); + key = PG_GETARG_BYTEA_PP(1); if (PG_NARGS() > 2) - arg = PG_GETARG_BYTEA_P(2); + arg = PG_GETARG_BYTEA_PP(2); res = encrypt_internal(0, 1, data, key, arg); @@ -616,10 +616,10 @@ pgp_sym_decrypt_bytea(PG_FUNCTION_ARGS) text *arg = NULL; text *res; - data = PG_GETARG_BYTEA_P(0); - key = PG_GETARG_BYTEA_P(1); + data = PG_GETARG_BYTEA_PP(0); + key = PG_GETARG_BYTEA_PP(1); if (PG_NARGS() > 2) - arg = PG_GETARG_BYTEA_P(2); + arg = PG_GETARG_BYTEA_PP(2); res = decrypt_internal(0, 0, data, key, NULL, arg); @@ -638,10 +638,10 @@ pgp_sym_decrypt_text(PG_FUNCTION_ARGS) text *arg = NULL; text *res; - data = PG_GETARG_BYTEA_P(0); - key = PG_GETARG_BYTEA_P(1); + data = PG_GETARG_BYTEA_PP(0); + key = PG_GETARG_BYTEA_PP(1); if (PG_NARGS() > 2) - arg = PG_GETARG_BYTEA_P(2); + arg = PG_GETARG_BYTEA_PP(2); res = decrypt_internal(0, 1, data, key, NULL, arg); @@ -664,10 +664,10 @@ pgp_pub_encrypt_bytea(PG_FUNCTION_ARGS) text *arg = NULL; text *res; - data = PG_GETARG_BYTEA_P(0); - key = PG_GETARG_BYTEA_P(1); + data = PG_GETARG_BYTEA_PP(0); + key = PG_GETARG_BYTEA_PP(1); if (PG_NARGS() > 2) - arg = PG_GETARG_BYTEA_P(2); + arg = PG_GETARG_BYTEA_PP(2); res = encrypt_internal(1, 0, data, key, arg); @@ -686,10 +686,10 @@ pgp_pub_encrypt_text(PG_FUNCTION_ARGS) text *arg = NULL; text *res; - data = PG_GETARG_BYTEA_P(0); - key = PG_GETARG_BYTEA_P(1); + data = PG_GETARG_BYTEA_PP(0); + key = PG_GETARG_BYTEA_PP(1); if (PG_NARGS() > 2) - arg = PG_GETARG_BYTEA_P(2); + arg = PG_GETARG_BYTEA_PP(2); res = encrypt_internal(1, 1, data, key, arg); @@ -710,12 +710,12 @@ pgp_pub_decrypt_bytea(PG_FUNCTION_ARGS) *arg = NULL; text *res; - data = PG_GETARG_BYTEA_P(0); - key = PG_GETARG_BYTEA_P(1); + data = PG_GETARG_BYTEA_PP(0); + key = PG_GETARG_BYTEA_PP(1); if (PG_NARGS() > 2) - psw = PG_GETARG_BYTEA_P(2); + psw = PG_GETARG_BYTEA_PP(2); if (PG_NARGS() > 3) - arg = PG_GETARG_BYTEA_P(3); + arg = PG_GETARG_BYTEA_PP(3); res = decrypt_internal(1, 0, data, key, psw, arg); @@ -737,12 +737,12 @@ pgp_pub_decrypt_text(PG_FUNCTION_ARGS) *arg = NULL; text *res; - data = PG_GETARG_BYTEA_P(0); - key = PG_GETARG_BYTEA_P(1); + data = PG_GETARG_BYTEA_PP(0); + key = PG_GETARG_BYTEA_PP(1); if (PG_NARGS() > 2) - psw = PG_GETARG_BYTEA_P(2); + psw = PG_GETARG_BYTEA_PP(2); if (PG_NARGS() > 3) - arg = PG_GETARG_BYTEA_P(3); + arg = PG_GETARG_BYTEA_PP(3); res = decrypt_internal(1, 1, data, key, psw, arg); @@ -865,8 +865,8 @@ pg_armor(PG_FUNCTION_ARGS) char **keys = NULL, **values = NULL; - data = PG_GETARG_BYTEA_P(0); - data_len = VARSIZE(data) - VARHDRSZ; + data = PG_GETARG_BYTEA_PP(0); + data_len = VARSIZE_ANY_EXHDR(data); if (PG_NARGS() == 3) { num_headers = parse_key_value_arrays(PG_GETARG_ARRAYTYPE_P(1), @@ -880,7 +880,7 @@ pg_armor(PG_FUNCTION_ARGS) initStringInfo(&buf); - pgp_armor_encode((uint8 *) VARDATA(data), data_len, &buf, + pgp_armor_encode((uint8 *) VARDATA_ANY(data), data_len, &buf, num_headers, keys, values); res = palloc(VARHDRSZ + buf.len); @@ -901,12 +901,12 @@ pg_dearmor(PG_FUNCTION_ARGS) int ret; StringInfoData buf; - data = PG_GETARG_TEXT_P(0); - data_len = VARSIZE(data) - VARHDRSZ; + data = PG_GETARG_TEXT_PP(0); + data_len = VARSIZE_ANY_EXHDR(data); initStringInfo(&buf); - ret = pgp_armor_decode((uint8 *) VARDATA(data), data_len, &buf); + ret = pgp_armor_decode((uint8 *) VARDATA_ANY(data), data_len, &buf); if (ret < 0) px_THROW_ERROR(ret); res = palloc(VARHDRSZ + buf.len); @@ -1004,7 +1004,7 @@ pgp_key_id_w(PG_FUNCTION_ARGS) int res_len; MBuf *buf; - data = PG_GETARG_BYTEA_P(0); + data = PG_GETARG_BYTEA_PP(0); buf = create_mbuf_from_vardata(data); res = palloc(VARHDRSZ + 17); diff --git a/contrib/pgrowlocks/pgrowlocks.c b/contrib/pgrowlocks/pgrowlocks.c index 4d49610641a..db9e0349a03 100644 --- a/contrib/pgrowlocks/pgrowlocks.c +++ b/contrib/pgrowlocks/pgrowlocks.c @@ -94,7 +94,7 @@ pgrowlocks(PG_FUNCTION_ARGS) attinmeta = TupleDescGetAttInMetadata(tupdesc); funcctx->attinmeta = attinmeta; - relname = PG_GETARG_TEXT_P(0); + relname = PG_GETARG_TEXT_PP(0); relrv = makeRangeVarFromNameList(textToQualifiedNameList(relname)); rel = heap_openrv(relrv, AccessShareLock); diff --git a/contrib/pgstattuple/pgstatindex.c b/contrib/pgstattuple/pgstatindex.c index c69f9ec0937..d448e9ede65 100644 --- a/contrib/pgstattuple/pgstatindex.c +++ b/contrib/pgstattuple/pgstatindex.c @@ -143,7 +143,7 @@ static void check_relation_relkind(Relation rel); Datum pgstatindex(PG_FUNCTION_ARGS) { - text *relname = PG_GETARG_TEXT_P(0); + text *relname = PG_GETARG_TEXT_PP(0); Relation rel; RangeVar *relrv; @@ -168,7 +168,7 @@ pgstatindex(PG_FUNCTION_ARGS) Datum pgstatindex_v1_5(PG_FUNCTION_ARGS) { - text *relname = PG_GETARG_TEXT_P(0); + text *relname = PG_GETARG_TEXT_PP(0); Relation rel; RangeVar *relrv; @@ -377,7 +377,7 @@ pgstatindex_impl(Relation rel, FunctionCallInfo fcinfo) Datum pg_relpages(PG_FUNCTION_ARGS) { - text *relname = PG_GETARG_TEXT_P(0); + text *relname = PG_GETARG_TEXT_PP(0); int64 relpages; Relation rel; RangeVar *relrv; @@ -406,7 +406,7 @@ pg_relpages(PG_FUNCTION_ARGS) Datum pg_relpages_v1_5(PG_FUNCTION_ARGS) { - text *relname = PG_GETARG_TEXT_P(0); + text *relname = PG_GETARG_TEXT_PP(0); int64 relpages; Relation rel; RangeVar *relrv; diff --git a/contrib/pgstattuple/pgstattuple.c b/contrib/pgstattuple/pgstattuple.c index b2432f43edf..1e0de5d660a 100644 --- a/contrib/pgstattuple/pgstattuple.c +++ b/contrib/pgstattuple/pgstattuple.c @@ -165,7 +165,7 @@ build_pgstattuple_type(pgstattuple_type *stat, FunctionCallInfo fcinfo) Datum pgstattuple(PG_FUNCTION_ARGS) { - text *relname = PG_GETARG_TEXT_P(0); + text *relname = PG_GETARG_TEXT_PP(0); RangeVar *relrv; Relation rel; @@ -191,7 +191,7 @@ pgstattuple(PG_FUNCTION_ARGS) Datum pgstattuple_v1_5(PG_FUNCTION_ARGS) { - text *relname = PG_GETARG_TEXT_P(0); + text *relname = PG_GETARG_TEXT_PP(0); RangeVar *relrv; Relation rel; diff --git a/contrib/sepgsql/label.c b/contrib/sepgsql/label.c index 82deb930935..1a8f8848f59 100644 --- a/contrib/sepgsql/label.c +++ b/contrib/sepgsql/label.c @@ -590,7 +590,7 @@ PG_FUNCTION_INFO_V1(sepgsql_mcstrans_in); Datum sepgsql_mcstrans_in(PG_FUNCTION_ARGS) { - text *label = PG_GETARG_TEXT_P(0); + text *label = PG_GETARG_TEXT_PP(0); char *raw_label; char *result; @@ -630,7 +630,7 @@ PG_FUNCTION_INFO_V1(sepgsql_mcstrans_out); Datum sepgsql_mcstrans_out(PG_FUNCTION_ARGS) { - text *label = PG_GETARG_TEXT_P(0); + text *label = PG_GETARG_TEXT_PP(0); char *qual_label; char *result; diff --git a/contrib/spi/autoinc.c b/contrib/spi/autoinc.c index 54f85a37090..8bf742230e0 100644 --- a/contrib/spi/autoinc.c +++ b/contrib/spi/autoinc.c @@ -106,7 +106,7 @@ autoinc(PG_FUNCTION_ARGS) newvals[chnattrs] = Int32GetDatum((int32) DatumGetInt64(newvals[chnattrs])); } newnulls[chnattrs] = false; - pfree(DatumGetTextP(seqname)); + pfree(DatumGetTextPP(seqname)); chnattrs++; i++; } diff --git a/contrib/sslinfo/sslinfo.c b/contrib/sslinfo/sslinfo.c index a4b0f9b6a11..42846436eb5 100644 --- a/contrib/sslinfo/sslinfo.c +++ b/contrib/sslinfo/sslinfo.c @@ -225,7 +225,7 @@ PG_FUNCTION_INFO_V1(ssl_client_dn_field); Datum ssl_client_dn_field(PG_FUNCTION_ARGS) { - text *fieldname = PG_GETARG_TEXT_P(0); + text *fieldname = PG_GETARG_TEXT_PP(0); Datum result; if (!(MyProcPort->peer)) @@ -260,7 +260,7 @@ PG_FUNCTION_INFO_V1(ssl_issuer_field); Datum ssl_issuer_field(PG_FUNCTION_ARGS) { - text *fieldname = PG_GETARG_TEXT_P(0); + text *fieldname = PG_GETARG_TEXT_PP(0); Datum result; if (!(MyProcPort->peer)) diff --git a/contrib/unaccent/unaccent.c b/contrib/unaccent/unaccent.c index 542e7267be4..6a34cfd3edf 100644 --- a/contrib/unaccent/unaccent.c +++ b/contrib/unaccent/unaccent.c @@ -384,14 +384,14 @@ unaccent_dict(PG_FUNCTION_ARGS) dictOid = PG_GETARG_OID(0); strArg = 1; } - str = PG_GETARG_TEXT_P(strArg); + str = PG_GETARG_TEXT_PP(strArg); dict = lookup_ts_dictionary_cache(dictOid); res = (TSLexeme *) DatumGetPointer(FunctionCall4(&(dict->lexize), PointerGetDatum(dict->dictData), - PointerGetDatum(VARDATA(str)), - Int32GetDatum(VARSIZE(str) - VARHDRSZ), + PointerGetDatum(VARDATA_ANY(str)), + Int32GetDatum(VARSIZE_ANY_EXHDR(str)), PointerGetDatum(NULL))); PG_FREE_IF_COPY(str, strArg); diff --git a/contrib/uuid-ossp/uuid-ossp.c b/contrib/uuid-ossp/uuid-ossp.c index 57bdf4d8d47..1ce08555cfb 100644 --- a/contrib/uuid-ossp/uuid-ossp.c +++ b/contrib/uuid-ossp/uuid-ossp.c @@ -503,13 +503,13 @@ Datum uuid_generate_v3(PG_FUNCTION_ARGS) { pg_uuid_t *ns = PG_GETARG_UUID_P(0); - text *name = PG_GETARG_TEXT_P(1); + text *name = PG_GETARG_TEXT_PP(1); #ifdef HAVE_UUID_OSSP return uuid_generate_v35_internal(UUID_MAKE_V3, ns, name); #else return uuid_generate_internal(UUID_MAKE_V3, (unsigned char *) ns, - VARDATA(name), VARSIZE(name) - VARHDRSZ); + VARDATA_ANY(name), VARSIZE_ANY_EXHDR(name)); #endif } @@ -525,12 +525,12 @@ Datum uuid_generate_v5(PG_FUNCTION_ARGS) { pg_uuid_t *ns = PG_GETARG_UUID_P(0); - text *name = PG_GETARG_TEXT_P(1); + text *name = PG_GETARG_TEXT_PP(1); #ifdef HAVE_UUID_OSSP return uuid_generate_v35_internal(UUID_MAKE_V5, ns, name); #else return uuid_generate_internal(UUID_MAKE_V5, (unsigned char *) ns, - VARDATA(name), VARSIZE(name) - VARHDRSZ); + VARDATA_ANY(name), VARSIZE_ANY_EXHDR(name)); #endif } diff --git a/contrib/xml2/xpath.c b/contrib/xml2/xpath.c index 73b74c875e9..034545caa87 100644 --- a/contrib/xml2/xpath.c +++ b/contrib/xml2/xpath.c @@ -95,9 +95,9 @@ PG_FUNCTION_INFO_V1(xml_is_well_formed); Datum xml_is_well_formed(PG_FUNCTION_ARGS) { - text *t = PG_GETARG_TEXT_P(0); /* document buffer */ + text *t = PG_GETARG_TEXT_PP(0); /* document buffer */ bool result = false; - int32 docsize = VARSIZE(t) - VARHDRSZ; + int32 docsize = VARSIZE_ANY_EXHDR(t); xmlDocPtr doctree; PgXmlErrorContext *xmlerrcxt; @@ -105,7 +105,7 @@ xml_is_well_formed(PG_FUNCTION_ARGS) PG_TRY(); { - doctree = xmlParseMemory((char *) VARDATA(t), docsize); + doctree = xmlParseMemory((char *) VARDATA_ANY(t), docsize); result = (doctree != NULL); @@ -133,7 +133,7 @@ PG_FUNCTION_INFO_V1(xml_encode_special_chars); Datum xml_encode_special_chars(PG_FUNCTION_ARGS) { - text *tin = PG_GETARG_TEXT_P(0); + text *tin = PG_GETARG_TEXT_PP(0); text *tout; xmlChar *ts, *tt; @@ -248,10 +248,10 @@ PG_FUNCTION_INFO_V1(xpath_nodeset); Datum xpath_nodeset(PG_FUNCTION_ARGS) { - text *document = PG_GETARG_TEXT_P(0); - text *xpathsupp = PG_GETARG_TEXT_P(1); /* XPath expression */ - xmlChar *toptag = pgxml_texttoxmlchar(PG_GETARG_TEXT_P(2)); - xmlChar *septag = pgxml_texttoxmlchar(PG_GETARG_TEXT_P(3)); + text *document = PG_GETARG_TEXT_PP(0); + text *xpathsupp = PG_GETARG_TEXT_PP(1); /* XPath expression */ + xmlChar *toptag = pgxml_texttoxmlchar(PG_GETARG_TEXT_PP(2)); + xmlChar *septag = pgxml_texttoxmlchar(PG_GETARG_TEXT_PP(3)); xmlChar *xpath; text *xpres; xmlXPathObjectPtr res; @@ -281,9 +281,9 @@ PG_FUNCTION_INFO_V1(xpath_list); Datum xpath_list(PG_FUNCTION_ARGS) { - text *document = PG_GETARG_TEXT_P(0); - text *xpathsupp = PG_GETARG_TEXT_P(1); /* XPath expression */ - xmlChar *plainsep = pgxml_texttoxmlchar(PG_GETARG_TEXT_P(2)); + text *document = PG_GETARG_TEXT_PP(0); + text *xpathsupp = PG_GETARG_TEXT_PP(1); /* XPath expression */ + xmlChar *plainsep = pgxml_texttoxmlchar(PG_GETARG_TEXT_PP(2)); xmlChar *xpath; text *xpres; xmlXPathObjectPtr res; @@ -310,15 +310,15 @@ PG_FUNCTION_INFO_V1(xpath_string); Datum xpath_string(PG_FUNCTION_ARGS) { - text *document = PG_GETARG_TEXT_P(0); - text *xpathsupp = PG_GETARG_TEXT_P(1); /* XPath expression */ + text *document = PG_GETARG_TEXT_PP(0); + text *xpathsupp = PG_GETARG_TEXT_PP(1); /* XPath expression */ xmlChar *xpath; int32 pathsize; text *xpres; xmlXPathObjectPtr res; xpath_workspace workspace; - pathsize = VARSIZE(xpathsupp) - VARHDRSZ; + pathsize = VARSIZE_ANY_EXHDR(xpathsupp); /* * We encapsulate the supplied path with "string()" = 8 chars + 1 for NUL @@ -328,7 +328,7 @@ xpath_string(PG_FUNCTION_ARGS) xpath = (xmlChar *) palloc(pathsize + 9); memcpy((char *) xpath, "string(", 7); - memcpy((char *) (xpath + 7), VARDATA(xpathsupp), pathsize); + memcpy((char *) (xpath + 7), VARDATA_ANY(xpathsupp), pathsize); xpath[pathsize + 7] = ')'; xpath[pathsize + 8] = '\0'; @@ -351,8 +351,8 @@ PG_FUNCTION_INFO_V1(xpath_number); Datum xpath_number(PG_FUNCTION_ARGS) { - text *document = PG_GETARG_TEXT_P(0); - text *xpathsupp = PG_GETARG_TEXT_P(1); /* XPath expression */ + text *document = PG_GETARG_TEXT_PP(0); + text *xpathsupp = PG_GETARG_TEXT_PP(1); /* XPath expression */ xmlChar *xpath; float4 fRes; xmlXPathObjectPtr res; @@ -383,8 +383,8 @@ PG_FUNCTION_INFO_V1(xpath_bool); Datum xpath_bool(PG_FUNCTION_ARGS) { - text *document = PG_GETARG_TEXT_P(0); - text *xpathsupp = PG_GETARG_TEXT_P(1); /* XPath expression */ + text *document = PG_GETARG_TEXT_PP(0); + text *xpathsupp = PG_GETARG_TEXT_PP(1); /* XPath expression */ xmlChar *xpath; int bRes; xmlXPathObjectPtr res; @@ -413,7 +413,7 @@ xpath_bool(PG_FUNCTION_ARGS) static xmlXPathObjectPtr pgxml_xpath(text *document, xmlChar *xpath, xpath_workspace *workspace) { - int32 docsize = VARSIZE(document) - VARHDRSZ; + int32 docsize = VARSIZE_ANY_EXHDR(document); PgXmlErrorContext *xmlerrcxt; xmlXPathCompExprPtr comppath; @@ -425,7 +425,7 @@ pgxml_xpath(text *document, xmlChar *xpath, xpath_workspace *workspace) PG_TRY(); { - workspace->doctree = xmlParseMemory((char *) VARDATA(document), + workspace->doctree = xmlParseMemory((char *) VARDATA_ANY(document), docsize); if (workspace->doctree != NULL) { diff --git a/contrib/xml2/xslt_proc.c b/contrib/xml2/xslt_proc.c index 343924e9917..391e6b593b0 100644 --- a/contrib/xml2/xslt_proc.c +++ b/contrib/xml2/xslt_proc.c @@ -49,8 +49,8 @@ xslt_process(PG_FUNCTION_ARGS) { #ifdef USE_LIBXSLT - text *doct = PG_GETARG_TEXT_P(0); - text *ssheet = PG_GETARG_TEXT_P(1); + text *doct = PG_GETARG_TEXT_PP(0); + text *ssheet = PG_GETARG_TEXT_PP(1); text *result; text *paramstr; const char **params; @@ -66,7 +66,7 @@ xslt_process(PG_FUNCTION_ARGS) if (fcinfo->nargs == 3) { - paramstr = PG_GETARG_TEXT_P(2); + paramstr = PG_GETARG_TEXT_PP(2); params = parse_params(paramstr); } else @@ -85,16 +85,16 @@ xslt_process(PG_FUNCTION_ARGS) bool xslt_sec_prefs_error; /* Parse document */ - doctree = xmlParseMemory((char *) VARDATA(doct), - VARSIZE(doct) - VARHDRSZ); + doctree = xmlParseMemory((char *) VARDATA_ANY(doct), + VARSIZE_ANY_EXHDR(doct)); if (doctree == NULL) xml_ereport(xmlerrcxt, ERROR, ERRCODE_EXTERNAL_ROUTINE_EXCEPTION, "error parsing XML document"); /* Same for stylesheet */ - ssdoc = xmlParseMemory((char *) VARDATA(ssheet), - VARSIZE(ssheet) - VARHDRSZ); + ssdoc = xmlParseMemory((char *) VARDATA_ANY(ssheet), + VARSIZE_ANY_EXHDR(ssheet)); if (ssdoc == NULL) xml_ereport(xmlerrcxt, ERROR, ERRCODE_EXTERNAL_ROUTINE_EXCEPTION, |