Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/2233052/?format=api
{ "id": 2233052, "url": "http://patchwork.ozlabs.org/api/1.2/patches/2233052/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/patch/20260505151142.1453614-4-avinal.xlvii@gmail.com/", "project": { "id": 41, "url": "http://patchwork.ozlabs.org/api/1.2/projects/41/?format=api", "name": "GNU C Library", "link_name": "glibc", "list_id": "libc-alpha.sourceware.org", "list_email": "libc-alpha@sourceware.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260505151142.1453614-4-avinal.xlvii@gmail.com>", "list_archive_url": null, "date": "2026-05-05T15:11:42", "name": "[3/3] intl: Remove pre-C99 fallbacks from plural-exp.c", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "ce46d4f9678a7261b7e1c061067847c6dcbafc97", "submitter": { "id": 88549, "url": "http://patchwork.ozlabs.org/api/1.2/people/88549/?format=api", "name": "Avinal Kumar", "email": "avinal.xlvii@gmail.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/glibc/patch/20260505151142.1453614-4-avinal.xlvii@gmail.com/mbox/", "series": [ { "id": 502854, "url": "http://patchwork.ozlabs.org/api/1.2/series/502854/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/list/?series=502854", "date": "2026-05-05T15:11:39", "name": "intl: Remove dead code, sync with GNU gettext", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/502854/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2233052/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2233052/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "libc-alpha@sourceware.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "libc-alpha@sourceware.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=Flk6ZO/Q;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org\n (client-ip=38.145.34.32; helo=vm01.sourceware.org;\n envelope-from=libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org;\n receiver=patchwork.ozlabs.org)", "sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=Flk6ZO/Q", "sourceware.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com", "sourceware.org; spf=pass smtp.mailfrom=gmail.com", "server2.sourceware.org;\n arc=none smtp.remote-ip=2607:f8b0:4864:20::62e" ], "Received": [ "from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g92HT1lD4z1yJx\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 01:19:33 +1000 (AEST)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 36BA84BA79BD\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 5 May 2026 15:19:31 +0000 (GMT)", "from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com\n [IPv6:2607:f8b0:4864:20::62e])\n by sourceware.org (Postfix) with ESMTPS id CC85C4B9DB4E\n for <libc-alpha@sourceware.org>; Tue, 5 May 2026 15:12:23 +0000 (GMT)", "by mail-pl1-x62e.google.com with SMTP id\n d9443c01a7336-2ba4efedbeaso7695845ad.1\n for <libc-alpha@sourceware.org>; Tue, 05 May 2026 08:12:23 -0700 (PDT)", "from fedoraemon.neon-universe.ts.net\n ([2406:7400:11d:a9dc:9a14:72eb:1a60:868a])\n by smtp.gmail.com with ESMTPSA id\n d9443c01a7336-2b9cae4a127sm193695355ad.67.2026.05.05.08.12.20\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 05 May 2026 08:12:21 -0700 (PDT)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org 36BA84BA79BD", "OpenDKIM Filter v2.11.0 sourceware.org CC85C4B9DB4E" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org CC85C4B9DB4E", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org CC85C4B9DB4E", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1777993944; cv=none;\n b=B20StvK2VfgOrCH1XGh86zeD/l+tcE20woJ9wZiqGUd0T8n5OVaueaw++Rs6vR3ZX2P67y2pZ1CmdOvTT5YTIZ6im/t+8GT+6MSp+wMP6UXxXbKf5eD9DJtokh6eQ31D8J1EjKZMishW1G0X9pqt2b4cvKW8XMHP3oXK6PP3+yk=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1777993944; c=relaxed/simple;\n bh=amk4PQADlHa3+NMmWXcupQ2MW2LtI8BLwzgbJo/2OFQ=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=FQ5LZhBkowcPQvHs9+WlVquL6qkY+asKitwYnGvHa4pdw0ZriggKwqOEFQ+dTZbeqXgmMMSYmOhseXpMs9sT2APQmUOCABZhAH28038DNq6Je0pB6+1QLtWWUNjOK/+eh5GhSDw5wZHSgVc3JtJmIRnViaOKkPFdV70KOj0XbHk=", "ARC-Authentication-Results": "i=1; server2.sourceware.org", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1777993942; x=1778598742; darn=sourceware.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=L3t7L9KkaxuWEZlP7Z0Jc2XUQNXpLGHnT5KwOJw7owI=;\n b=Flk6ZO/Qd3izqRtYX//H2hzbIXPoYk+5Qu2qXNV2ohiLm/qD4vDSa8TCM2i2LRRHN2\n ssffcjN/8uRqyZqWslqjSWZnVf+eilVJU0UgsGOrHI7RsdaifRsekAcf/JS4PaD46HAF\n GyqU4A1Q1EQFMivfUUGd5+ms5sRUgBVXdb6V5YX/VCbvkR+SEDspoQE6/WXC3nibAtIQ\n gFp3mbaOhKbyyIyqff3Xt7pUUrUElle+PltxYBZPdNxjMaCGJACS59Tki4s1l/UlXZU4\n 4CKnU8xonu0i4RoNlpqyfo3MnyAvq2/eyEULLTw6qtr/zLrBw+8Bbwdjm/Cs1eSQFizy\n Vjaw==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777993942; x=1778598742;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=L3t7L9KkaxuWEZlP7Z0Jc2XUQNXpLGHnT5KwOJw7owI=;\n b=en8cz3vhiKLtT9EcEuBM9MPVWuLMnT5EF9rX5OLzmqcDBn/o5/rMhVIgGfDJT/6tDB\n zrzVVC7stn2NPkaoSvih/hjSSbbB283HOSVslEo5iAInUO8gfahvrmH3FjUqwFDTljQn\n n4TsTS191gcZ90AdnecvYLrt9Fobnu74bLOWb2HEkjEDxmk5zkD/j2AVsRrDgETGUVfZ\n DQf6jzDN/LR/rYEjhQaqjaUtHIm1BIShq/ORqnbuu220uXnn1MusbBmHXLVnJRvl+0xD\n nTaTAxX1b1LrSl5JkPmJOxrRNOTjcCAf4bfcpBIcNqDA3Iq4jS2DKoL3FNT2KT49iXEu\n hEVg==", "X-Gm-Message-State": "AOJu0YyvZiOJP3oV0Z1oPOdSlerinlUITPfJH0sLdE66Fd6sve3K5sv4\n qzYYyBujoBrorFP/9tDkrQ3Pb01h2rs1Vr5Gn6asRXIgENFBf95D7nhCTDDJ3w==", "X-Gm-Gg": "AeBDiesBOMzZ+qGArAF4CEBnEtSQbGlGenqK/EKIT3yNZpxi8xQ8OCrx6BV15Y5jikK\n v6tuhNqqY6YqJPzrb23xxTPXLncS/wz0YEl0SA9Z38LMenIzgo/HqVlvADZiFUYmf3+CvE602aI\n h+qvi6JPJf/Yic41KfB72ZvUiVU7urJA3KrUgV2CLdjHOFggs+Td6298f+gfG1QngzsAb0damv1\n d7+0H0Qo874QLhzicMORktuxLySzi6xO4+xP8b/2zKBVjieMKGJyhxZDEHJF4xkkqYkut+P82vI\n 5xHiHpc2Cqnx7kZlwJIqbrhKtGZAMcaKMULXntuCjgSlaK2KkXtuj7wplQt2bHNHNnpxc/R0K45\n RI3M9vLxx1Rj+DupsgRqMHKauf+BHAXx5lqeFkeTx7xzM+Z9tNG1J2i/hKtry6ciLP8iJ/XW1qN\n XE7WoPEDo55KN9nI7Z/n7zsvkuYz4WT1jfi2LkMz+9yuBEys2fDIIMsahtArf717W4JQ==", "X-Received": "by 2002:a17:902:b489:b0:2b0:4fb6:85ce with SMTP id\n d9443c01a7336-2b9f25e7b2cmr99857045ad.21.1777993942277;\n Tue, 05 May 2026 08:12:22 -0700 (PDT)", "From": "Avinal Kumar <avinal.xlvii@gmail.com>", "To": "libc-alpha@sourceware.org", "Cc": "Avinal Kumar <avinal.xlvii@gmail.com>", "Subject": "[PATCH 3/3] intl: Remove pre-C99 fallbacks from plural-exp.c", "Date": "Tue, 5 May 2026 20:41:42 +0530", "Message-ID": "<20260505151142.1453614-4-avinal.xlvii@gmail.com>", "X-Mailer": "git-send-email 2.54.0", "In-Reply-To": "<20260505151142.1453614-1-avinal.xlvii@gmail.com>", "References": "<20260505151142.1453614-1-avinal.xlvii@gmail.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "libc-alpha@sourceware.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "Libc-alpha mailing list <libc-alpha.sourceware.org>", "List-Unsubscribe": "<https://sourceware.org/mailman/options/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=unsubscribe>", "List-Archive": "<https://sourceware.org/pipermail/libc-alpha/>", "List-Post": "<mailto:libc-alpha@sourceware.org>", "List-Help": "<mailto:libc-alpha-request@sourceware.org?subject=help>", "List-Subscribe": "<https://sourceware.org/mailman/listinfo/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=subscribe>", "Errors-To": "libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org" }, "content": "glibc requires C11 since 2022, making pre-C99 compatibility\npaths in plural-exp.c dead code:\n\n- init_germanic_plural(): With C99+, GERMANIC_PLURAL is\ninitialized at compile time and this function is never called.\nRemove the function and the INIT_GERMANIC_PLURAL macro.\n\n- HAVE_STRTOUL guard: Protected strtoul() usage with a manual\ndigit-parsing fallback. strtoul is in C89 <stdlib.h> and glibc\nprovides it. Remove the guard and the fallback loop.\n\nImported from GNU gettext commits ab5990532 and c1d84d656.\nOriginal author: Bruno Haible <bruno@clisp.org>\n\nSigned-off-by: Avinal Kumar <avinal.xlvii@gmail.com>\n---\n intl/plural-exp.c | 44 --------------------------------------------\n 1 file changed, 44 deletions(-)", "diff": "diff --git a/intl/plural-exp.c b/intl/plural-exp.c\nindex c02e4b6a6d..8f910d7e7f 100644\n--- a/intl/plural-exp.c\n+++ b/intl/plural-exp.c\n@@ -25,10 +25,6 @@\n \n #include <plural-exp.h>\n \n-#if (defined __GNUC__ && !(defined __APPLE_CC_ && __APPLE_CC__ > 1) && \\\n- !defined __cplusplus)\t\t\t\t\t \\\n- || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)\n-\n /* These structs are the constant expression for the germanic plural\n form determination. It represents the expression \"n != 1\". */\n static const struct expression plvar =\n@@ -59,40 +55,6 @@ const struct expression GERMANIC_PLURAL =\n }\n };\n \n-# define INIT_GERMANIC_PLURAL()\n-\n-#else\n-\n-/* For compilers without support for ISO C 99 struct/union initializers:\n- Initialization at run-time. */\n-\n-static struct expression plvar;\n-static struct expression plone;\n-struct expression GERMANIC_PLURAL;\n-\n-static void\n-init_germanic_plural (void)\n-{\n- if (plone.val.num == 0)\n- {\n- plvar.nargs = 0;\n- plvar.operation = var;\n-\n- plone.nargs = 0;\n- plone.operation = num;\n- plone.val.num = 1;\n-\n- GERMANIC_PLURAL.nargs = 2;\n- GERMANIC_PLURAL.operation = not_equal;\n- GERMANIC_PLURAL.val.args[0] = &plvar;\n- GERMANIC_PLURAL.val.args[1] = &plone;\n- }\n-}\n-\n-# define INIT_GERMANIC_PLURAL() init_germanic_plural ()\n-\n-#endif\n-\n void\n EXTRACT_PLURAL_EXPRESSION (const char *nullentry,\n \t\t\t const struct expression **pluralp,\n@@ -119,12 +81,7 @@ EXTRACT_PLURAL_EXPRESSION (const char *nullentry,\n \t ++nplurals;\n \t if (!(*nplurals >= '0' && *nplurals <= '9'))\n \t goto no_plural;\n-#if defined HAVE_STRTOUL || defined _LIBC\n \t n = strtoul (nplurals, &endp, 10);\n-#else\n-\t for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++)\n-\t n = n * 10 + (*endp - '0');\n-#endif\n \t if (nplurals == endp)\n \t goto no_plural;\n \t *npluralsp = n;\n@@ -146,7 +103,6 @@ EXTRACT_PLURAL_EXPRESSION (const char *nullentry,\n for `one', the plural form otherwise. Yes, this is also what\n English is using since English is a Germanic language. */\n no_plural:\n- INIT_GERMANIC_PLURAL ();\n *pluralp = &GERMANIC_PLURAL;\n *npluralsp = 2;\n }\n", "prefixes": [ "3/3" ] }