Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v9RzY-000hLc-Fo for pgsql-hackers@arkaria.postgresql.org; Thu, 16 Oct 2025 17:42:19 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1v9RzX-00ETt4-D5 for pgsql-hackers@arkaria.postgresql.org; Thu, 16 Oct 2025 17:42:18 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v9Rxl-00ER82-SU for pgsql-hackers@lists.postgresql.org; Thu, 16 Oct 2025 17:40:28 +0000 Received: from mail-qv1-xf36.google.com ([2607:f8b0:4864:20::f36]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1v9Rxi-002ZAz-2E for pgsql-hackers@postgresql.org; Thu, 16 Oct 2025 17:40:28 +0000 Received: by mail-qv1-xf36.google.com with SMTP id 6a1803df08f44-87c1f3f4373so10142396d6.2 for ; Thu, 16 Oct 2025 10:40:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb.com; s=google; t=1760636424; x=1761241224; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=g/LG+9T/Z8w1qG8us5TGsC2GaAYDFUYT+zPGFwUzfeU=; b=CM6VYsPwuQBXXXbsc0IyrbwcG1ovQRki57G+NNYfoU43RD3pZ8ai7h0O2Zy5r9eZlW xJg5BgAYH8FITYJCeunMOVNEZmXjhOjgudtSnb0Kwt2JY9hvF9YKHCDJ5B5tmseF8v/J QHkIIDZzVnJ9bCmo2gsDBfxTbeXUtfio8q6bdXw8rkmdozyRotlAzI0GG/+fZ3LfI2BL v1i5oepgMwt2eI6EWA6cYwVHh/0yj27XH0hVQp0om/NFPjhoHlnvSL0f5T8AGRL9blxx 5VuRWIe314KbpCzypFgdGLrKOEc4PAm4jZB5yNtdBAiapNM/LPQeqGt3I2mIYpxMHgb0 70eA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760636424; x=1761241224; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=g/LG+9T/Z8w1qG8us5TGsC2GaAYDFUYT+zPGFwUzfeU=; b=hFPYrW53oLcb0wTZVvglHdwUR9rxmM0003ZKxbdnXDoLWFRb2d2ij3Ij3rex2WsgDp 5kQ32oFmzlMBWXPLF9oeLYDvdH1yJ3au+hU+BpeIK08JDOuboWnFgNSpO5eul1EsJYMp 2V+LJG9DXOduryjxb/+OzKL2De0IgrTIAIuXqkV+4foPkhleHKAl56ljB0t20Nw+QS1d yL5FvwJ0twQH4Nw6i9pfC8nbjQ7S6rvnzYqf6gjHR6GdeoLVqZtQ85XPucAhgAlBWgd3 IkpTu6qdE7U0GOsaOnvlVJ+LoWK41E9bY6ibZ1H7bsWB27h8m52oIWMPkBiQDnoolGnp EFNw== X-Forwarded-Encrypted: i=1; AJvYcCUlSJHkyShEIPp2qH+5Q1gXSKTWCLKLsdB+S0D4X6wm3P66EqXqf3p8467qKu0LjgSlaoS33bhl/e4NlNHe@postgresql.org X-Gm-Message-State: AOJu0Yw18ytCzhA3j5Es9SRKXW4ysZiek9lU+i8u76OmZ3dvXz2Q7nNl VIRQLYgmLt6Pzku6CLLg3t/RS+eiD4gLPMszuWQX+3KhhnhXsM2XIdH9rXZ+JzCegVzPCO4hWEH KjLxLHesU0DaMvxHYPCABqGsLbh/H6phLnehOlBmh X-Gm-Gg: ASbGncuXL89fAb1kbTDPySbDMHh5Ds0tfAUknDU3flPL+WBQ7pieJ/1YlkS4E0eV/Nx fEYKBIrGMiLnU54O6DLljHgHJ3Aj1b/FqLAl9Oj0QwJtiWYKwSWLQ5OuQAm6cMHairjD5WfA496 MfKlZxfjUCW9GOvOgbRmzOyGDaub1m4OHt3+VVh8Xf47c8C0VVAS1eDPU9S3VAgFJbY9YEIDxWI cEPqzvJ3Kn3jzVDHFgVlnTt0F25aoNNrpPN205UtONu+82fnNceEsFVAIhW6Dg= X-Google-Smtp-Source: AGHT+IG/dKLSSaN0D+mhBAESMQHhv3TSfF7UDjzifTezei0B7KHz0OmLd1HjpJvkrqptflOt6svk728Wzuj8qu8dzQE= X-Received: by 2002:a05:6214:40f:b0:87b:d338:bdaa with SMTP id 6a1803df08f44-87c206497a3mr16009246d6.52.1760636421644; Thu, 16 Oct 2025 10:40:21 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jacob Champion Date: Thu, 16 Oct 2025 10:40:10 -0700 X-Gm-Features: AS18NWBHOUDWTDtRjrK1PPX-PiUCDS0HdXn5cu8dFm0TOoMbUO0GfOyQSD5KwVQ Message-ID: Subject: Re: anonymous unions (C11) To: Nathan Bossart Cc: Peter Eisentraut , pgsql-hackers Content-Type: multipart/mixed; boundary="0000000000007e5d8c06414a1ce3" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000007e5d8c06414a1ce3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Sep 23, 2025 at 7:18=E2=80=AFAM Nathan Bossart wrote: > I would have used this in the DSM registry if it was available. Patch > attached. Likewise for libpq-oauth, as attached. Thanks, --Jacob --0000000000007e5d8c06414a1ce3 Content-Type: application/octet-stream; name="0001-Make-some-use-of-anonymous-unions-libpq-oauth.patch" Content-Disposition: attachment; filename="0001-Make-some-use-of-anonymous-unions-libpq-oauth.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mgtpf20g0 RnJvbSA4OGM5NmIxOTcxNWEwNzRjYTAwZTJlM2M3YjA1YzYwZTYwZDQwNTc3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8amFjb2IuY2hhbXBpb25AZW50ZXJw cmlzZWRiLmNvbT4KRGF0ZTogVGh1LCAxNiBPY3QgMjAyNSAxMDoxODo0NCAtMDcwMApTdWJqZWN0 OiBbUEFUQ0hdIE1ha2Ugc29tZSB1c2Ugb2YgYW5vbnltb3VzIHVuaW9ucyBbbGlicHEtb2F1dGhd CgpNYWtlIHNvbWUgdXNlIG9mIGFub255bW91cyB1bmlvbnMsIHdoaWNoIGFyZSBhbGxvd2VkIGFz IG9mIEMxMSwgYXMKZXhhbXBsZXMgYW5kIGVuY291cmFnZW1lbnQgZm9yIGZ1dHVyZSBjb2RlLCBh bmQgdG8gdGVzdCBjb21waWxlcnMuCgpUaGlzIGNvbW1pdCBjaGFuZ2VzIHRoZSBqc29uX2ZpZWxk IHN0cnVjdC4KClJldmlld2VkLWJ5OgpEaXNjdXNzaW9uOgotLS0KIHNyYy9pbnRlcmZhY2VzL2xp YnBxLW9hdXRoL29hdXRoLWN1cmwuYyB8IDIwICsrKysrKysrKystLS0tLS0tLS0tCiAxIGZpbGUg Y2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvb2F1dGgtY3VybC5jIGIvc3JjL2ludGVyZmFjZXMv bGlicHEtb2F1dGgvb2F1dGgtY3VybC5jCmluZGV4IGFhNTBiMDBkMDUzLi4xMjg3ZTMwYjg2YyAx MDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvb2F1dGgtY3VybC5jCisrKyBi L3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLWN1cmwuYwpAQCAtNDM5LDcgKzQzOSw3 IEBAIHN0cnVjdCBqc29uX2ZpZWxkCiAJewogCQljaGFyCSAgKipzY2FsYXI7CQkvKiBmb3IgYWxs IHNjYWxhciB0eXBlcyAqLwogCQlzdHJ1Y3QgY3VybF9zbGlzdCAqKmFycmF5OwkvKiBmb3IgdHlw ZSA9PSBKU09OX1RPS0VOX0FSUkFZX1NUQVJUICovCi0JfQkJCXRhcmdldDsKKwl9OwogCiAJYm9v bAkJcmVxdWlyZWQ7CQkvKiBSRVFVSVJFRCBmaWVsZCwgb3IganVzdCBPUFRJT05BTD8gKi8KIH07 CkBAIC01NjEsOCArNTYxLDggQEAgb2F1dGhfanNvbl9vYmplY3RfZmllbGRfc3RhcnQodm9pZCAq c3RhdGUsIGNoYXIgKm5hbWUsIGJvb2wgaXNudWxsKQogCQl7CiAJCQlmaWVsZCA9IGN0eC0+YWN0 aXZlOwogCi0JCQlpZiAoKGZpZWxkLT50eXBlID09IEpTT05fVE9LRU5fQVJSQVlfU1RBUlQgJiYg KmZpZWxkLT50YXJnZXQuYXJyYXkpCi0JCQkJfHwgKGZpZWxkLT50eXBlICE9IEpTT05fVE9LRU5f QVJSQVlfU1RBUlQgJiYgKmZpZWxkLT50YXJnZXQuc2NhbGFyKSkKKwkJCWlmICgoZmllbGQtPnR5 cGUgPT0gSlNPTl9UT0tFTl9BUlJBWV9TVEFSVCAmJiAqZmllbGQtPmFycmF5KQorCQkJCXx8IChm aWVsZC0+dHlwZSAhPSBKU09OX1RPS0VOX0FSUkFZX1NUQVJUICYmICpmaWVsZC0+c2NhbGFyKSkK IAkJCXsKIAkJCQlvYXV0aF9wYXJzZV9zZXRfZXJyb3IoY3R4LCAiZmllbGQgXCIlc1wiIGlzIGR1 cGxpY2F0ZWQiLAogCQkJCQkJCQkJICBmaWVsZC0+bmFtZSk7CkBAIC03MDYsNyArNzA2LDcgQEAg b2F1dGhfanNvbl9zY2FsYXIodm9pZCAqc3RhdGUsIGNoYXIgKnRva2VuLCBKc29uVG9rZW5UeXBl IHR5cGUpCiAJCQl9CiAKIAkJCS8qIC4uLmFuZCB0aGF0IGEgcmVzdWx0IGhhcyBub3QgYWxyZWFk eSBiZWVuIHNldC4gKi8KLQkJCWlmICgqZmllbGQtPnRhcmdldC5zY2FsYXIpCisJCQlpZiAoKmZp ZWxkLT5zY2FsYXIpCiAJCQl7CiAJCQkJQXNzZXJ0KGZhbHNlKTsKIAkJCQlvYXV0aF9wYXJzZV9z ZXRfZXJyb3IoY3R4LApAQCAtNzE1LDggKzcxNSw4IEBAIG9hdXRoX2pzb25fc2NhbGFyKHZvaWQg KnN0YXRlLCBjaGFyICp0b2tlbiwgSnNvblRva2VuVHlwZSB0eXBlKQogCQkJCXJldHVybiBKU09O X1NFTV9BQ1RJT05fRkFJTEVEOwogCQkJfQogCi0JCQkqZmllbGQtPnRhcmdldC5zY2FsYXIgPSBz dHJkdXAodG9rZW4pOwotCQkJaWYgKCEqZmllbGQtPnRhcmdldC5zY2FsYXIpCisJCQkqZmllbGQt PnNjYWxhciA9IHN0cmR1cCh0b2tlbik7CisJCQlpZiAoISpmaWVsZC0+c2NhbGFyKQogCQkJCXJl dHVybiBKU09OX09VVF9PRl9NRU1PUlk7CiAKIAkJCWN0eC0+YWN0aXZlID0gTlVMTDsKQEAgLTcz OCwxMSArNzM4LDExIEBAIG9hdXRoX2pzb25fc2NhbGFyKHZvaWQgKnN0YXRlLCBjaGFyICp0b2tl biwgSnNvblRva2VuVHlwZSB0eXBlKQogCQkJfQogCiAJCQkvKiBOb3RlIHRoYXQgY3VybF9zbGlz dF9hcHBlbmQoKSBtYWtlcyBhIGNvcHkgb2YgdGhlIHRva2VuLiAqLwotCQkJdGVtcCA9IGN1cmxf c2xpc3RfYXBwZW5kKCpmaWVsZC0+dGFyZ2V0LmFycmF5LCB0b2tlbik7CisJCQl0ZW1wID0gY3Vy bF9zbGlzdF9hcHBlbmQoKmZpZWxkLT5hcnJheSwgdG9rZW4pOwogCQkJaWYgKCF0ZW1wKQogCQkJ CXJldHVybiBKU09OX09VVF9PRl9NRU1PUlk7CiAKLQkJCSpmaWVsZC0+dGFyZ2V0LmFycmF5ID0g dGVtcDsKKwkJCSpmaWVsZC0+YXJyYXkgPSB0ZW1wOwogCQl9CiAJfQogCWVsc2UKQEAgLTg3OCw4 ICs4NzgsOCBAQCBwYXJzZV9vYXV0aF9qc29uKHN0cnVjdCBhc3luY19jdHggKmFjdHgsIGNvbnN0 IHN0cnVjdCBqc29uX2ZpZWxkICpmaWVsZHMpCiAJd2hpbGUgKGZpZWxkcy0+bmFtZSkKIAl7CiAJ CWlmIChmaWVsZHMtPnJlcXVpcmVkCi0JCQkmJiAhKmZpZWxkcy0+dGFyZ2V0LnNjYWxhcgotCQkJ JiYgISpmaWVsZHMtPnRhcmdldC5hcnJheSkKKwkJCSYmICEqZmllbGRzLT5zY2FsYXIKKwkJCSYm ICEqZmllbGRzLT5hcnJheSkKIAkJewogCQkJYWN0eF9lcnJvcihhY3R4LCAiZmllbGQgXCIlc1wi IGlzIG1pc3NpbmciLCBmaWVsZHMtPm5hbWUpOwogCQkJZ290byBjbGVhbnVwOwotLSAKMi4zNC4x Cgo= --0000000000007e5d8c06414a1ce3--