{"id":810277,"url":"http://patchwork.ozlabs.org/api/patches/810277/?format=json","web_url":"http://patchwork.ozlabs.org/project/glibc/patch/1504643122-14874-3-git-send-email-adhemerval.zanella@linaro.org/","project":{"id":41,"url":"http://patchwork.ozlabs.org/api/projects/41/?format=json","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":"<1504643122-14874-3-git-send-email-adhemerval.zanella@linaro.org>","list_archive_url":null,"date":"2017-09-05T20:25:15","name":"[2/9] posix: accept inode 0 is a valid inode number (BZ #19971)","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"05268faa309e55e10bc741e2b647aa4f0195f4aa","submitter":{"id":66065,"url":"http://patchwork.ozlabs.org/api/people/66065/?format=json","name":"Adhemerval Zanella Netto","email":"adhemerval.zanella@linaro.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/glibc/patch/1504643122-14874-3-git-send-email-adhemerval.zanella@linaro.org/mbox/","series":[{"id":1647,"url":"http://patchwork.ozlabs.org/api/series/1647/?format=json","web_url":"http://patchwork.ozlabs.org/project/glibc/list/?series=1647","date":"2017-09-05T20:25:13","name":"posix: glob fixes and refactor","version":1,"mbox":"http://patchwork.ozlabs.org/series/1647/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/810277/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/810277/checks/","tags":{},"related":[],"headers":{"Return-Path":"<libc-alpha-return-84208-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84208-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"r27kloh4\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xmysL5RFJz9t2v\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed,  6 Sep 2017 06:25:58 +1000 (AEST)","(qmail 48289 invoked by alias); 5 Sep 2017 20:25:42 -0000","(qmail 48188 invoked by uid 89); 5 Sep 2017 20:25:41 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:from:to:cc:subject:date:message-id:in-reply-to\n\t:references; q=dns; s=default; b=fVNGMe/NAocmxGKk5TIC2Gq2zi0b9wM\n\tXR8xS1xxTuQPh5dJiha+eQYBbE0uQ9EZGOkvY6HHJGW8L6WKlDGOID0+wtunMCVZ\n\txWydQ3OacDqBqNliispz0pKbT/cdctnGkZDB9BhcovYFvVNhr+dTJAsmT4UJcx3v\n\t1pFLYTFMRrPU=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:from:to:cc:subject:date:message-id:in-reply-to\n\t:references; s=default; bh=JTSzOKEu+zXdlRRRoUDNzKwRp3c=; b=r27kl\n\toh4R2aEhPl+INxl7OPKvnQ5tvA7l+Zz8Qmv25rAM3LfZKKse248aDx6vRdMv0yED\n\tO2L0mOFEmN1ClHsM/TYAN6DN7YBK3cOCmJUE6hAWQE3xh7eTqIHLNoHaGYqcN7FZ\n\t+6Ae4m78dW2FqOGu/RaYAZ7C9gMN+AgIWtwMAk=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-26.4 required=5.0 tests=BAYES_00, GIT_PATCH_0,\n\tGIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE,\n\tRCVD_IN_SORBS_SPAM,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=","X-HELO":"mail-qk0-f181.google.com","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=z7npA0x/PK4YF+GT4MXLvKHyGIX/c5yWMkkCd1RHCrI=;\n\tb=fRhg23ArCmd6MMy8Xn5bWWlRDRFwoCzZmrHjfGvbMi9Of6bM61tEUrpWEJWZ4xDaxo\n\tKh0aWgDVi3g7lSTZ/nGNTp2tq5LSTZZqgf8JF5Y8q7EXpCSpKheywPw39AL8pReKKQ1s\n\tDXo78QH/L+ABeft8hiG6kn+pCP7oCv9WO6MGB3Q4CHFwUXfv0Rcn07Jj0bOXDA09bvBE\n\tq9Ito2/v5l/uI2riiGs2fc1rOdjYDCOohxZlh83GtXIB5oFrjx1GMYe7YuUHfERCO4cE\n\tOhtOSdyLmz0ripqtsR8vwG0HU1x4w+/AUtriJYNTGz2xfbWhqKGCQWCntfpKOrLHlybE\n\tjBDg==","X-Gm-Message-State":"AHPjjUidi5kcqygAcF+tB9W0jMR0uF3q9A2vo0JUz33j7MHID4QtMuYa\n\tsK4I3a2Ri4JJdjAbL6GD+Q==","X-Google-Smtp-Source":"AOwi7QCeqgtV0L+OwKpcFyevR/kt+rSM4KmUiqQo9ILC3fbGzcQ2cXq/NBLeFambSkjPwM/lvnJUNA==","X-Received":"by 10.233.244.5 with SMTP id y5mr430194qkl.162.1504643134537;\n\tTue, 05 Sep 2017 13:25:34 -0700 (PDT)","From":"Adhemerval Zanella <adhemerval.zanella@linaro.org>","To":"libc-alpha@sourceware.org","Cc":"Paul Eggert <eggert@cs.ucla.edu>","Subject":"[PATCH 2/9] posix: accept inode 0 is a valid inode number (BZ\n\t#19971)","Date":"Tue,  5 Sep 2017 17:25:15 -0300","Message-Id":"<1504643122-14874-3-git-send-email-adhemerval.zanella@linaro.org>","In-Reply-To":"<1504643122-14874-1-git-send-email-adhemerval.zanella@linaro.org>","References":"<1504643122-14874-1-git-send-email-adhemerval.zanella@linaro.org>"},"content":"According to this kernel commit 2adc376c55194, d_ino 0 is a regular inode\nnumber on Linux (which also matches POSIX, as it does not treat the value\nas special).  This patch makes glob accept is a valid inode number.\n\nThis is also a sync with gnulib commit c8e57c1.\n\nChecked on x86_64-linux-gnu and on a build using build-many-glibcs.py\nfor all major architectures.\n\n\t[BZ #1062]\n\t[BZ #19971]\n\t* posix/glob.c (struct readdir_result): Remove skip_entry member.\n\t(readdir_result_skip_entry, D_INO_TO_RESULT): Remove.\n\tAll uses removed.\n---\n ChangeLog    |  6 ++++++\n posix/glob.c | 21 ---------------------\n 2 files changed, 6 insertions(+), 21 deletions(-)","diff":"diff --git a/posix/glob.c b/posix/glob.c\nindex e19aa6f..36d9e5f 100644\n--- a/posix/glob.c\n+++ b/posix/glob.c\n@@ -114,9 +114,6 @@ struct readdir_result\n #if defined _DIRENT_HAVE_D_TYPE || defined HAVE_STRUCT_DIRENT_D_TYPE\n   dirent_type type;\n #endif\n-#if defined _LIBC || defined D_INO_IN_DIRENT\n-  bool skip_entry;\n-#endif\n };\n \n /* Initialize and return type member of struct readdir_result.  */\n@@ -132,28 +129,12 @@ readdir_result_type (struct readdir_result d)\n #endif\n }\n \n-/* Initialize and return skip_entry member of struct readdir_result.  */\n-static bool\n-readdir_result_skip_entry (struct readdir_result d)\n-{\n-/* Initializer for skip_entry.  POSIX does not require that the d_ino\n-   field be present, and some systems do not provide it. */\n-#if defined _LIBC || defined D_INO_IN_DIRENT\n-# define D_INO_TO_RESULT(source) (source)->d_ino == 0,\n-  return d.skip_entry;\n-#else\n-# define D_INO_TO_RESULT(source)\n-  return false;\n-#endif\n-}\n-\n /* Construct an initializer for a struct readdir_result object from a\n    struct dirent *.  No copy of the name is made.  */\n #define READDIR_RESULT_INITIALIZER(source) \\\n   {\t\t\t\t\t   \\\n     source->d_name,\t\t\t   \\\n     D_TYPE_TO_RESULT (source)\t\t   \\\n-    D_INO_TO_RESULT (source)\t\t   \\\n   }\n \n /* Call gl_readdir on STREAM.  This macro can be overridden to reduce\n@@ -1543,8 +1524,6 @@ glob_in_dir (const char *pattern, const char *directory, int flags,\n \t      }\n \t      if (d.name == NULL)\n \t\tbreak;\n-\t      if (readdir_result_skip_entry (d))\n-\t\tcontinue;\n \n \t      /* If we shall match only directories use the information\n \t\t provided by the dirent call if possible.  */\n","prefixes":["2/9"]}