Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pQSK1-0001Av-4K for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Feb 2023 12:16:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pQSK0-0006zh-0x for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Feb 2023 12:16:08 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pQSJy-0006zN-NG for pgsql-hackers@lists.postgresql.org; Fri, 10 Feb 2023 12:16:07 +0000 Received: from wnew4-smtp.messagingengine.com ([64.147.123.18]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pQSJs-0006KF-I0 for pgsql-hackers@postgresql.org; Fri, 10 Feb 2023 12:16:05 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailnew.west.internal (Postfix) with ESMTP id 1F06A2B069AC for ; Fri, 10 Feb 2023 07:15:57 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Fri, 10 Feb 2023 07:15:57 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1676031356; x=1676038556; bh=9dZ+qDNfXJgInc79mfB0ce/Pbt6C riGjSFnLEXmhvpw=; b=W3f5cjjIIIaH1RdEA6Ht5YK5Bp03xKPZeMEo/u1GzR1/ ol9oAMfg6R1CMtQ3Pcj5BB8cC10w7Gr4Ie5SgY70csPBkDFbOqObLLjvArWxSx+S phsBsRpJBRuVXc8XK27wzxU9Xg+dlOVeZkoaa0fqu8gRCA2TsZ1dQrf0RdTcf92O iLXFZk5yNA9T+V3mqqZgxl47s0uoF6FSkgLgCOuyqgENgGjthmxa2oIstTA36WpY 65KrCk6A1SgEFUAUnfGiwBUfKGlNEt7KjOumhEN8GIjX59r0upxFufRDJKRaKjzQ 0PlMzTuZ4U7RxCpVpu56OqrHEK+y/1h6KwHPoF/gcQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudehhedgfeejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpegtkfffgggfuffhvfhfjgesmhdtre ertdefjeenucfhrhhomheprfgvthgvrhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdr vghishgvnhhtrhgruhhtsegvnhhtvghrphhrihhsvggusgdrtghomheqnecuggftrfgrth htvghrnhepkeetteefheevhfdvledtfeegleeutdekkeekveeifeeuffevjeeujeehffej ieejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepph gvthgvrhdrvghishgvnhhtrhgruhhtsegvnhhtvghrphhrihhsvggusgdrtghomh X-ME-Proxy: Feedback-ID: i131946ab:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Fri, 10 Feb 2023 07:15:55 -0500 (EST) Content-Type: multipart/mixed; boundary="------------2srrWWZu60AlMuhFZNcqKy9J" Message-ID: <783a4edb-84f9-6df2-7470-2ef5ccc6607a@enterprisedb.com> Date: Fri, 10 Feb 2023 13:15:54 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: appendBinaryStringInfo stuff Content-Language: en-US From: Peter Eisentraut To: pgsql-hackers References: In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------2srrWWZu60AlMuhFZNcqKy9J Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 19.12.22 07:13, Peter Eisentraut wrote: > Also, the argument type of appendBinaryStringInfo() is char *.  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.  I think > functions taking binary data plus length should take void * instead, > like memcpy() for example. I found a little follow-up for this one: Make the same change to pq_sendbytes(), which is a thin wrapper around appendBinaryStringInfo(). This would allow getting rid of further casts at call sites. --------------2srrWWZu60AlMuhFZNcqKy9J Content-Type: text/plain; charset=UTF-8; name="0001-Change-argument-type-of-pq_sendbytes-from-char-to-vo.patch" Content-Disposition: attachment; filename*0="0001-Change-argument-type-of-pq_sendbytes-from-char-to-vo.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAwYWVkNzY2ZTA0NmJhNzFiMDEwOTNiNDRmMGNhZTNhNDA5OGYxZTViIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogRnJpLCAxMCBGZWIgMjAyMyAxMzoxMTowOSArMDEwMApTdWJqZWN0 OiBbUEFUQ0hdIENoYW5nZSBhcmd1bWVudCB0eXBlIG9mIHBxX3NlbmRieXRlcyBmcm9tIGNo YXIgKiB0byB2b2lkICoKCi0tLQogc3JjL2JhY2tlbmQvbGlicHEvcHFmb3JtYXQuYyAgICAg ICAgICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9hcnJheV91c2VyZnVuY3Mu YyB8IDExICsrKysrLS0tLS0tCiBzcmMvYmFja2VuZC91dGlscy9hZHQvdXVpZC5jICAgICAg ICAgICAgfCAgMiArLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3ZhcmJpdC5jICAgICAgICAg IHwgIDIgKy0KIHNyYy9pbmNsdWRlL2xpYnBxL3BxZm9ybWF0LmggICAgICAgICAgICB8ICAy ICstCiA1IGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbGlicHEvcHFmb3JtYXQuYyBiL3NyYy9iYWNr ZW5kL2xpYnBxL3BxZm9ybWF0LmMKaW5kZXggYjdlMmM3YjZjOS4uZDcxMmM4MGI1ZSAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvbGlicHEvcHFmb3JtYXQuYworKysgYi9zcmMvYmFja2Vu ZC9saWJwcS9wcWZvcm1hdC5jCkBAIC0xMjMsNyArMTIzLDcgQEAgcHFfYmVnaW5tZXNzYWdl X3JldXNlKFN0cmluZ0luZm8gYnVmLCBjaGFyIG1zZ3R5cGUpCiAgKiAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiB2b2lkCi1wcV9zZW5kYnl0ZXMoU3RyaW5nSW5m byBidWYsIGNvbnN0IGNoYXIgKmRhdGEsIGludCBkYXRhbGVuKQorcHFfc2VuZGJ5dGVzKFN0 cmluZ0luZm8gYnVmLCBjb25zdCB2b2lkICpkYXRhLCBpbnQgZGF0YWxlbikKIHsKIAkvKiB1 c2UgdmFyaWFudCB0aGF0IG1haW50YWlucyBhIHRyYWlsaW5nIG51bGwtYnl0ZSwgb3V0IG9m IGNhdXRpb24gKi8KIAlhcHBlbmRCaW5hcnlTdHJpbmdJbmZvKGJ1ZiwgZGF0YSwgZGF0YWxl bik7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvYXJyYXlfdXNlcmZ1bmNz LmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvYXJyYXlfdXNlcmZ1bmNzLmMKaW5kZXggYzhh OGQzM2NhMy4uODA3NTAxOTFkOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L2FycmF5X3VzZXJmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9hcnJheV91 c2VyZnVuY3MuYwpAQCAtNjU0LDcgKzY1NCw3IEBAIGFycmF5X2FnZ19zZXJpYWxpemUoUEdf RlVOQ1RJT05fQVJHUykKIAlwcV9zZW5kYnl0ZSgmYnVmLCBzdGF0ZS0+dHlwYWxpZ24pOwog CiAJLyogZG51bGxzICovCi0JcHFfc2VuZGJ5dGVzKCZidWYsIChjaGFyICopIHN0YXRlLT5k bnVsbHMsIHNpemVvZihib29sKSAqIHN0YXRlLT5uZWxlbXMpOworCXBxX3NlbmRieXRlcygm YnVmLCBzdGF0ZS0+ZG51bGxzLCBzaXplb2YoYm9vbCkgKiBzdGF0ZS0+bmVsZW1zKTsKIAog CS8qCiAJICogZHZhbHVlcy4gIEJ5IGFncmVlbWVudCB3aXRoIGFycmF5X2FnZ19kZXNlcmlh bGl6ZSwgd2hlbiB0aGUgZWxlbWVudApAQCAtNjY0LDggKzY2NCw3IEBAIGFycmF5X2FnZ19z ZXJpYWxpemUoUEdfRlVOQ1RJT05fQVJHUykKIAkgKiBtdXN0IGJlIHNlbnQgZmlyc3QpLgog CSAqLwogCWlmIChzdGF0ZS0+dHlwYnl2YWwpCi0JCXBxX3NlbmRieXRlcygmYnVmLCAoY2hh ciAqKSBzdGF0ZS0+ZHZhbHVlcywKLQkJCQkJIHNpemVvZihEYXR1bSkgKiBzdGF0ZS0+bmVs ZW1zKTsKKwkJcHFfc2VuZGJ5dGVzKCZidWYsIHN0YXRlLT5kdmFsdWVzLCBzaXplb2YoRGF0 dW0pICogc3RhdGUtPm5lbGVtcyk7CiAJZWxzZQogCXsKIAkJU2VyaWFsSU9EYXRhICppb2Rh dGE7CkBAIC0xMDk3LDcgKzEwOTYsNyBAQCBhcnJheV9hZ2dfYXJyYXlfc2VyaWFsaXplKFBH X0ZVTkNUSU9OX0FSR1MpCiAJaWYgKHN0YXRlLT5udWxsYml0bWFwKQogCXsKIAkJQXNzZXJ0 KHN0YXRlLT5haXRlbXMgPiAwKTsKLQkJcHFfc2VuZGJ5dGVzKCZidWYsIChjaGFyICopIHN0 YXRlLT5udWxsYml0bWFwLCAoc3RhdGUtPmFpdGVtcyArIDcpIC8gOCk7CisJCXBxX3NlbmRi eXRlcygmYnVmLCBzdGF0ZS0+bnVsbGJpdG1hcCwgKHN0YXRlLT5haXRlbXMgKyA3KSAvIDgp OwogCX0KIAogCS8qIG5pdGVtcyAqLwpAQCAtMTEwNywxMCArMTEwNiwxMCBAQCBhcnJheV9h Z2dfYXJyYXlfc2VyaWFsaXplKFBHX0ZVTkNUSU9OX0FSR1MpCiAJcHFfc2VuZGludDMyKCZi dWYsIHN0YXRlLT5uZGltcyk7CiAKIAkvKiBkaW1zOiBYWFggc2hvdWxkIHdlIGp1c3Qgc2Vu ZCBuZGltcyBlbGVtZW50cz8gKi8KLQlwcV9zZW5kYnl0ZXMoJmJ1ZiwgKGNoYXIgKikgc3Rh dGUtPmRpbXMsIHNpemVvZihzdGF0ZS0+ZGltcykpOworCXBxX3NlbmRieXRlcygmYnVmLCBz dGF0ZS0+ZGltcywgc2l6ZW9mKHN0YXRlLT5kaW1zKSk7CiAKIAkvKiBsYnMgKi8KLQlwcV9z ZW5kYnl0ZXMoJmJ1ZiwgKGNoYXIgKikgc3RhdGUtPmxicywgc2l6ZW9mKHN0YXRlLT5sYnMp KTsKKwlwcV9zZW5kYnl0ZXMoJmJ1Ziwgc3RhdGUtPmxicywgc2l6ZW9mKHN0YXRlLT5sYnMp KTsKIAogCXJlc3VsdCA9IHBxX2VuZHR5cHNlbmQoJmJ1Zik7CiAKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL3V0aWxzL2FkdC91dWlkLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvdXVp ZC5jCmluZGV4IDc2ZmY2YzUzM2YuLjRmN2FhNzY4ZmQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3V0aWxzL2FkdC91dWlkLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3V1aWQu YwpAQCAtMTU0LDcgKzE1NCw3IEBAIHV1aWRfc2VuZChQR19GVU5DVElPTl9BUkdTKQogCVN0 cmluZ0luZm9EYXRhIGJ1ZmZlcjsKIAogCXBxX2JlZ2ludHlwc2VuZCgmYnVmZmVyKTsKLQlw cV9zZW5kYnl0ZXMoJmJ1ZmZlciwgKGNoYXIgKikgdXVpZC0+ZGF0YSwgVVVJRF9MRU4pOwor CXBxX3NlbmRieXRlcygmYnVmZmVyLCB1dWlkLT5kYXRhLCBVVUlEX0xFTik7CiAJUEdfUkVU VVJOX0JZVEVBX1AocHFfZW5kdHlwc2VuZCgmYnVmZmVyKSk7CiB9CiAKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3V0aWxzL2FkdC92YXJiaXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Fk dC92YXJiaXQuYwppbmRleCA0ZmRlMGMxYjE0Li4zZGJiZDEyMDdmIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC91dGlscy9hZHQvdmFyYml0LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMv YWR0L3ZhcmJpdC5jCkBAIC02ODUsNyArNjg1LDcgQEAgdmFyYml0X3NlbmQoUEdfRlVOQ1RJ T05fQVJHUykKIAogCXBxX2JlZ2ludHlwc2VuZCgmYnVmKTsKIAlwcV9zZW5kaW50MzIoJmJ1 ZiwgVkFSQklUTEVOKHMpKTsKLQlwcV9zZW5kYnl0ZXMoJmJ1ZiwgKGNoYXIgKikgVkFSQklU UyhzKSwgVkFSQklUQllURVMocykpOworCXBxX3NlbmRieXRlcygmYnVmLCBWQVJCSVRTKHMp LCBWQVJCSVRCWVRFUyhzKSk7CiAJUEdfUkVUVVJOX0JZVEVBX1AocHFfZW5kdHlwc2VuZCgm YnVmKSk7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2xpYnBxL3BxZm9ybWF0Lmgg Yi9zcmMvaW5jbHVkZS9saWJwcS9wcWZvcm1hdC5oCmluZGV4IGM1NjQ0YzAwNjEuLjBkMmY5 NThhZjMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2xpYnBxL3BxZm9ybWF0LmgKKysrIGIv c3JjL2luY2x1ZGUvbGlicHEvcHFmb3JtYXQuaApAQCAtMjIsNyArMjIsNyBAQCBleHRlcm4g dm9pZCBwcV9iZWdpbm1lc3NhZ2VfcmV1c2UoU3RyaW5nSW5mbyBidWYsIGNoYXIgbXNndHlw ZSk7CiBleHRlcm4gdm9pZCBwcV9lbmRtZXNzYWdlKFN0cmluZ0luZm8gYnVmKTsKIGV4dGVy biB2b2lkIHBxX2VuZG1lc3NhZ2VfcmV1c2UoU3RyaW5nSW5mbyBidWYpOwogCi1leHRlcm4g dm9pZCBwcV9zZW5kYnl0ZXMoU3RyaW5nSW5mbyBidWYsIGNvbnN0IGNoYXIgKmRhdGEsIGlu dCBkYXRhbGVuKTsKK2V4dGVybiB2b2lkIHBxX3NlbmRieXRlcyhTdHJpbmdJbmZvIGJ1Ziwg Y29uc3Qgdm9pZCAqZGF0YSwgaW50IGRhdGFsZW4pOwogZXh0ZXJuIHZvaWQgcHFfc2VuZGNv dW50ZWR0ZXh0KFN0cmluZ0luZm8gYnVmLCBjb25zdCBjaGFyICpzdHIsIGludCBzbGVuLAog CQkJCQkJCSAgIGJvb2wgY291bnRpbmNsdWRlc3NlbGYpOwogZXh0ZXJuIHZvaWQgcHFfc2Vu ZHRleHQoU3RyaW5nSW5mbyBidWYsIGNvbnN0IGNoYXIgKnN0ciwgaW50IHNsZW4pOwotLSAK Mi4zOS4xCgo= --------------2srrWWZu60AlMuhFZNcqKy9J--