diff --git a/pg_curl.c b/pg_curl.c index c42134e..3b32415 100644 --- a/pg_curl.c +++ b/pg_curl.c @@ -258,8 +258,7 @@ static pg_curl_t *pg_curl_easy_init(NameData *conname) { #define PG_CONNAME(arg) (PG_NARGS() < arg + 1 || PG_ARGISNULL(arg)) ? &pg_curl.unknown : PG_GETARG_NAME(arg) EXTENSION(pg_curl_easy_header_reset) { - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); curl_slist_free_all(curl->header); curl->header = NULL; PG_RETURN_VOID(); @@ -267,8 +266,7 @@ EXTENSION(pg_curl_easy_header_reset) { EXTENSION(pg_curl_easy_mime_reset) { #if CURL_AT_LEAST_VERSION(7, 56, 0) - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); curl_mime_free(curl->mime); curl->mime = NULL; PG_RETURN_VOID(); @@ -278,24 +276,21 @@ EXTENSION(pg_curl_easy_mime_reset) { } EXTENSION(pg_curl_easy_postquote_reset) { - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); curl_slist_free_all(curl->postquote); curl->postquote = NULL; PG_RETURN_VOID(); } EXTENSION(pg_curl_easy_prequote_reset) { - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); curl_slist_free_all(curl->prequote); curl->prequote = NULL; PG_RETURN_VOID(); } EXTENSION(pg_curl_easy_quote_reset) { - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); curl_slist_free_all(curl->quote); curl->quote = NULL; PG_RETURN_VOID(); @@ -303,8 +298,7 @@ EXTENSION(pg_curl_easy_quote_reset) { EXTENSION(pg_curl_easy_recipient_reset) { #if CURL_AT_LEAST_VERSION(7, 20, 0) - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); curl_slist_free_all(curl->recipient); curl->recipient = NULL; PG_RETURN_VOID(); @@ -314,8 +308,7 @@ EXTENSION(pg_curl_easy_recipient_reset) { } EXTENSION(pg_curl_easy_reset) { - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); MemSet(curl->errbuf, 0, sizeof(*curl->errbuf)); curl->errcode = CURLE_OK; pg_curl_easy_header_reset(fcinfo); @@ -347,8 +340,7 @@ EXTENSION(pg_curl_easy_escape) { #if CURL_AT_LEAST_VERSION(7, 15, 4) text *string; char *escape; - NameData *conname = PG_CONNAME(1); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(1)); if (PG_ARGISNULL(0)) ereport(ERROR, (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), errmsg("curl_easy_escape requires argument string"))); string = PG_GETARG_TEXT_PP(0); if (!(escape = curl_easy_escape(curl->easy, VARDATA_ANY(string), VARSIZE_ANY_EXHDR(string)))) PG_RETURN_NULL(); @@ -366,8 +358,7 @@ EXTENSION(pg_curl_easy_unescape) { text *url; char *unescape; int outlength; - NameData *conname = PG_CONNAME(1); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(1)); if (PG_ARGISNULL(0)) ereport(ERROR, (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), errmsg("curl_easy_unescape requires argument url"))); url = PG_GETARG_TEXT_PP(0); if (!(unescape = curl_easy_unescape(curl->easy, VARDATA_ANY(url), VARSIZE_ANY_EXHDR(url), &outlength))) PG_RETURN_NULL(); @@ -383,8 +374,7 @@ EXTENSION(pg_curl_easy_unescape) { EXTENSION(pg_curl_header_append) { char *name, *value; StringInfoData buf; - NameData *conname = PG_CONNAME(2); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(2)); struct curl_slist *temp = curl->header; if (PG_ARGISNULL(0)) ereport(ERROR, (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), errmsg("curl_header_append requires argument name"))); name = TextDatumGetCString(PG_GETARG_DATUM(0)); @@ -401,8 +391,7 @@ EXTENSION(pg_curl_header_append) { EXTENSION(pg_curl_postquote_append) { char *command; - NameData *conname = PG_CONNAME(1); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(1)); struct curl_slist *temp = curl->postquote; if (PG_ARGISNULL(0)) ereport(ERROR, (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), errmsg("curl_postquote_append requires argument command"))); command = TextDatumGetCString(PG_GETARG_DATUM(0)); @@ -413,8 +402,7 @@ EXTENSION(pg_curl_postquote_append) { EXTENSION(pg_curl_prequote_append) { char *command; - NameData *conname = PG_CONNAME(1); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(1)); struct curl_slist *temp = curl->prequote; if (PG_ARGISNULL(0)) ereport(ERROR, (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), errmsg("curl_prequote_append requires argument command"))); command = TextDatumGetCString(PG_GETARG_DATUM(0)); @@ -425,8 +413,7 @@ EXTENSION(pg_curl_prequote_append) { EXTENSION(pg_curl_quote_append) { char *command; - NameData *conname = PG_CONNAME(1); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(1)); struct curl_slist *temp = curl->quote; if (PG_ARGISNULL(0)) ereport(ERROR, (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), errmsg("curl_quote_append requires argument command"))); command = TextDatumGetCString(PG_GETARG_DATUM(0)); @@ -438,8 +425,7 @@ EXTENSION(pg_curl_quote_append) { EXTENSION(pg_curl_recipient_append) { #if CURL_AT_LEAST_VERSION(7, 20, 0) char *email; - NameData *conname = PG_CONNAME(1); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(1)); struct curl_slist *temp = curl->recipient; if (PG_ARGISNULL(0)) ereport(ERROR, (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), errmsg("curl_recipient_append requires argument email"))); email = TextDatumGetCString(PG_GETARG_DATUM(0)); @@ -484,8 +470,7 @@ EXTENSION(pg_curl_mime_data_text) { #if CURL_AT_LEAST_VERSION(7, 56, 0) CURLcode ec = CURL_LAST; curl_mimepart *part; - NameData *conname = PG_CONNAME(6); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(6)); if (!curl->mime && !(curl->mime = curl_mime_init(curl->easy))) ereport(ERROR, (errcode(ERRCODE_OUT_OF_MEMORY), errmsg("!curl_mime_init"))); if (!(part = curl_mime_addpart(curl->mime))) ereport(ERROR, (errcode(ERRCODE_OUT_OF_MEMORY), errmsg("!curl_mime_addpart"))); if (!PG_ARGISNULL(0)) { @@ -503,8 +488,7 @@ EXTENSION(pg_curl_mime_data_bytea) { #if CURL_AT_LEAST_VERSION(7, 56, 0) CURLcode ec = CURL_LAST; curl_mimepart *part; - NameData *conname = PG_CONNAME(6); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(6)); if (!curl->mime && !(curl->mime = curl_mime_init(curl->easy))) ereport(ERROR, (errcode(ERRCODE_OUT_OF_MEMORY), errmsg("!curl_mime_init"))); if (!(part = curl_mime_addpart(curl->mime))) ereport(ERROR, (errcode(ERRCODE_OUT_OF_MEMORY), errmsg("!curl_mime_addpart"))); if (!PG_ARGISNULL(0)) { @@ -522,8 +506,7 @@ EXTENSION(pg_curl_mime_file) { #if CURL_AT_LEAST_VERSION(7, 56, 0) CURLcode ec = CURL_LAST; curl_mimepart *part; - NameData *conname = PG_CONNAME(6); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(6)); if (PG_ARGISNULL(0)) ereport(ERROR, (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), errmsg("curl_mime_file requires argument data"))); if (!curl->mime && !(curl->mime = curl_mime_init(curl->easy))) ereport(ERROR, (errcode(ERRCODE_OUT_OF_MEMORY), errmsg("!curl_mime_init"))); if (!(part = curl_mime_addpart(curl->mime))) ereport(ERROR, (errcode(ERRCODE_OUT_OF_MEMORY), errmsg("!curl_mime_addpart"))); @@ -541,8 +524,7 @@ EXTENSION(pg_curl_mime_file) { EXTENSION(pg_curl_easy_setopt_postfields) { CURLcode ec = CURLE_OK; bytea *parameter; - NameData *conname = PG_CONNAME(1); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(1)); if (PG_ARGISNULL(0)) ereport(ERROR, (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), errmsg("curl_easy_setopt_postfields requires argument parameter"))); parameter = PG_GETARG_BYTEA_PP(0); resetStringInfo(&curl->postfield); @@ -555,8 +537,7 @@ EXTENSION(pg_curl_easy_setopt_postfields) { EXTENSION(pg_curl_easy_setopt_readdata) { CURLcode ec = CURLE_OK; bytea *parameter; - NameData *conname = PG_CONNAME(1); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(1)); if (PG_ARGISNULL(0)) ereport(ERROR, (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), errmsg("curl_easy_setopt_readdata requires argument parameter"))); parameter = PG_GETARG_BYTEA_PP(0); resetStringInfo(&curl->postfield); @@ -569,8 +550,7 @@ EXTENSION(pg_curl_easy_setopt_readdata) { EXTENSION(pg_curl_easy_setopt_url) { CURLcode ec = CURLE_OK; text *parameter; - NameData *conname = PG_CONNAME(1); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(1)); if (PG_ARGISNULL(0)) ereport(ERROR, (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), errmsg("curl_easy_setopt_url requires argument parameter"))); parameter = PG_GETARG_TEXT_PP(0); resetStringInfo(&curl->url); @@ -600,16 +580,14 @@ static Datum pg_curl_postfield_or_url_append(PG_FUNCTION_ARGS, pg_curl_t *curl, } EXTENSION(pg_curl_postfield_append) { - NameData *conname = PG_CONNAME(2); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(2)); if (PG_ARGISNULL(0)) ereport(ERROR, (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), errmsg("pg_curl_postfield_append requires argument name"))); resetStringInfo(&curl->readdata); return pg_curl_postfield_or_url_append(fcinfo, curl, &curl->postfield); } EXTENSION(pg_curl_url_append) { - NameData *conname = PG_CONNAME(2); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(2)); if (PG_ARGISNULL(0)) ereport(ERROR, (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), errmsg("pg_curl_url_append requires argument name"))); return pg_curl_postfield_or_url_append(fcinfo, curl, &curl->url); } @@ -619,8 +597,7 @@ static Datum pg_curl_easy_setopt_blob(PG_FUNCTION_ARGS, CURLoption option) { CURLcode ec = CURLE_OK; bytea *parameter; struct curl_blob blob; - NameData *conname = PG_CONNAME(1); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(1)); if (PG_ARGISNULL(0)) ereport(ERROR, (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), errmsg("curl_easy_setopt_* requires argument parameter"))); parameter = PG_GETARG_BYTEA_PP(0); blob.data = VARDATA_ANY(parameter); @@ -635,8 +612,7 @@ static Datum pg_curl_easy_setopt_blob(PG_FUNCTION_ARGS, CURLoption option) { static Datum pg_curl_easy_setopt_char(PG_FUNCTION_ARGS, CURLoption option) { CURLcode ec = CURL_LAST; char *parameter; - NameData *conname = PG_CONNAME(1); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(1)); if (PG_ARGISNULL(0)) ereport(ERROR, (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), errmsg("curl_easy_setopt_* requires argument parameter"))); parameter = TextDatumGetCString(PG_GETARG_DATUM(0)); if ((ec = curl_easy_setopt(curl->easy, option, parameter)) != CURLE_OK) ereport(ERROR, (pg_curl_ec(ec), errmsg("%s", curl_easy_strerror(ec)))); @@ -1207,8 +1183,7 @@ EXTENSION(pg_curl_easy_setopt_xoauth2_bearer) { static Datum pg_curl_easy_setopt_long(PG_FUNCTION_ARGS, CURLoption option) { CURLcode ec = CURL_LAST; long parameter; - NameData *conname = PG_CONNAME(1); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(1)); if (PG_ARGISNULL(0)) ereport(ERROR, (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), errmsg("curl_easy_setopt_* requires argument parameter"))); parameter = PG_GETARG_INT64(0); if ((ec = curl_easy_setopt(curl->easy, option, parameter)) != CURLE_OK) ereport(ERROR, (pg_curl_ec(ec), errmsg("%s", curl_easy_strerror(ec)))); @@ -1753,8 +1728,7 @@ EXTENSION(pg_curl_easy_setopt_use_ssl) { } EXTENSION(pg_curl_easy_setopt_verbose) { CURLcode ec = CURL_LAST; - NameData *conname = PG_CONNAME(1); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(1)); if ((ec = curl_easy_setopt(curl->easy, CURLOPT_DEBUGDATA, curl)) != CURLE_OK) ereport(ERROR, (pg_curl_ec(ec), errmsg("%s", curl_easy_strerror(ec)))); if ((ec = curl_easy_setopt(curl->easy, CURLOPT_DEBUGFUNCTION, pg_debug_callback)) != CURLE_OK) ereport(ERROR, (pg_curl_ec(ec), errmsg("%s", curl_easy_strerror(ec)))); return pg_curl_easy_setopt_long(fcinfo, CURLOPT_VERBOSE); @@ -1886,36 +1860,31 @@ EXTENSION(pg_curl_multi_perform) { } EXTENSION(pg_curl_easy_getinfo_debug) { - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); if (!curl->debug.len) PG_RETURN_NULL(); PG_RETURN_TEXT_P(cstring_to_text_with_len(curl->debug.data, curl->debug.len)); } EXTENSION(pg_curl_easy_getinfo_header_in) { - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); if (!curl->header_in.len) PG_RETURN_NULL(); PG_RETURN_TEXT_P(cstring_to_text_with_len(curl->header_in.data, curl->header_in.len)); } EXTENSION(pg_curl_easy_getinfo_header_out) { - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); if (!curl->header_out.len) PG_RETURN_NULL(); PG_RETURN_TEXT_P(cstring_to_text_with_len(curl->header_out.data, curl->header_out.len)); } EXTENSION(pg_curl_easy_getinfo_data_in) { - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); if (!curl->data_in.len) PG_RETURN_NULL(); PG_RETURN_BYTEA_P(cstring_to_text_with_len(curl->data_in.data, curl->data_in.len)); } EXTENSION(pg_curl_easy_getinfo_data_out) { - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); if (!curl->data_out.len) PG_RETURN_NULL(); PG_RETURN_BYTEA_P(cstring_to_text_with_len(curl->data_out.data, curl->data_out.len)); } @@ -1931,21 +1900,18 @@ EXTENSION(pg_curl_easy_getinfo_response) { } EXTENSION(pg_curl_easy_getinfo_errbuf) { - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); if (!curl->errbuf[0]) PG_RETURN_NULL(); PG_RETURN_TEXT_P(cstring_to_text(curl->errbuf)); } EXTENSION(pg_curl_easy_getinfo_errdesc) { - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); PG_RETURN_TEXT_P(cstring_to_text(curl_easy_strerror(curl->errcode))); } EXTENSION(pg_curl_easy_getinfo_errcode) { - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); PG_RETURN_INT64(curl->errcode); } @@ -1953,8 +1919,7 @@ static Datum pg_curl_easy_getinfo_char(PG_FUNCTION_ARGS, CURLINFO info) { #if CURL_AT_LEAST_VERSION(7, 4, 1) CURLcode ec = CURL_LAST; char *value = NULL; - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); if ((ec = curl_easy_getinfo(curl->easy, info, &value)) != CURLE_OK) ereport(ERROR, (pg_curl_ec(ec), errmsg("%s", curl_easy_strerror(ec)))); if (!value) PG_RETURN_NULL(); PG_RETURN_TEXT_P(cstring_to_text(value)); @@ -2024,8 +1989,7 @@ static Datum pg_curl_easy_getinfo_long(PG_FUNCTION_ARGS, CURLINFO info) { #if CURL_AT_LEAST_VERSION(7, 4, 1) CURLcode ec = CURL_LAST; long value; - NameData *conname = PG_CONNAME(0); - pg_curl_t *curl = pg_curl_easy_init(conname); + pg_curl_t *curl = pg_curl_easy_init(PG_CONNAME(0)); if ((ec = curl_easy_getinfo(curl->easy, info, &value)) != CURLE_OK) ereport(ERROR, (pg_curl_ec(ec), errmsg("%s", curl_easy_strerror(ec)))); PG_RETURN_INT64(value); #else