Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/810284/?format=api
{ "id": 810284, "url": "http://patchwork.ozlabs.org/api/patches/810284/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/patch/1504643122-14874-9-git-send-email-adhemerval.zanella@linaro.org/", "project": { "id": 41, "url": "http://patchwork.ozlabs.org/api/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": "<1504643122-14874-9-git-send-email-adhemerval.zanella@linaro.org>", "list_archive_url": null, "date": "2017-09-05T20:25:21", "name": "[8/9] posix: Use enum for __glob_pattern_type result", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "d5835ed197a18e91038d67df6a62be89f4ba82cb", "submitter": { "id": 66065, "url": "http://patchwork.ozlabs.org/api/people/66065/?format=api", "name": "Adhemerval Zanella", "email": "adhemerval.zanella@linaro.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/glibc/patch/1504643122-14874-9-git-send-email-adhemerval.zanella@linaro.org/mbox/", "series": [ { "id": 1647, "url": "http://patchwork.ozlabs.org/api/series/1647/?format=api", "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/810284/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/810284/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<libc-alpha-return-84215-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-84215-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=\"MfrqDTJv\"; 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 3xmyv2429Mz9sPs\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 6 Sep 2017 06:27:26 +1000 (AEST)", "(qmail 50066 invoked by alias); 5 Sep 2017 20:25:55 -0000", "(qmail 49902 invoked by uid 89); 5 Sep 2017 20:25:55 -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=t0QTiOeC/h9Fpb8xywj+cjVP0leEPmt\n\thUogRYnJAL3yHDqyEuYFcjrnahpfmN7JvCx+hohMog42bIxsrJ4WLe+YtFOjIca7\n\tmcmm9Ko3ywpQFTOWZv4EJaXSMfBX5fL+lHZastprbm+DJXHoI0px2/AnVzWukZn6\n\t+XVslFVAdWM4=", "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=jc0/RhcRAh/WozwJdyW9qMAcj8g=; b=MfrqD\n\tTJvSeur9l9XHrMjJYSJORcuzVDwwCeWy7y59fGusDf2cDiC55OT2uv7OoU8ohEAF\n\tLklThQjXr16TJl3tPH87+4MNbJCckkGemNdyoOAmPysc8ng8NaudfNbjR5eZMAZU\n\tLpIZZqhUJgo03x7esItYF4lYfrtUzCNhvX1CZg=", "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=bracket", "X-HELO": "mail-qt0-f170.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=N6l0iGPkELaWch/gSgORHPz1zrEMvr2/7piZU2bJOoU=;\n\tb=brSgtNRrG+96ocPGBWwpjjXSRnInFdg0y5AJ1nAJp3y87SDiyxxzGrek8dWmDKCe7n\n\tAQAbLTNHET5Z616YeDyOtNWutIN4grQUcO0nu0NR7Jcx2PhPLXsFRkO1KznhBLZL3dNe\n\tKz8oDVsupN4cTF7WQoera8AfKd3SpGgZ5ZfiYzwPt3EDckvbOzwTM0T9UJGFtMY7kl1y\n\t8e32VPCUks2jpUxMXnuc4qcp0nQi76o+/hRpZUK/J8u4iiNPMgt1yi3BSJDG7B4H5CTy\n\trTRdsAKp5AKC/0Xv6LmI8iC2HgUMHHJXTN4m4H/TtLJOlKWqoPTSjm6fmMJkNYtqikBe\n\ta4dw==", "X-Gm-Message-State": "AHPjjUiiqPEMUpGSWYGUAuyb6PmpuQgGZsBJv939Mx9e+kAxQW4YxJtV\n\tdSbw/0qp0JvfGwRXvcL7FA==", "X-Google-Smtp-Source": "ADKCNb5n/pAmqtdYXOXFVYQm53M3FNVaoJIfDeYt47mVZ3khwQVbobcNIgIXtXfGt7soT0ZZl5t5Yg==", "X-Received": "by 10.200.38.199 with SMTP id 7mr414975qtp.251.1504643146949;\n\tTue, 05 Sep 2017 13:25:46 -0700 (PDT)", "From": "Adhemerval Zanella <adhemerval.zanella@linaro.org>", "To": "libc-alpha@sourceware.org", "Cc": "Paul Eggert <eggert@cs.ucla.edu>", "Subject": "[PATCH 8/9] posix: Use enum for __glob_pattern_type result", "Date": "Tue, 5 Sep 2017 17:25:21 -0300", "Message-Id": "<1504643122-14874-9-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": "This patch replaces the internal integer constant from\n__glob_pattern_type return with a proper enum.\n\nChecked on x86_64-linux-gnu and on a build using build-many-glibcs.py\nfor all major architectures.\n\n\t* posix/glob_internal.h (glob_pattern_type_t): New enumeration.\n\t(__glob_pattern_type): Use __glob_pat_types.\n\t* posix/glob_pattern_p.c (__glob_pattern_p): Likewise.\n\t* posix/glob.c (glob): Likewise.\n\t(glob_in_dir): Likewise.\n---\n ChangeLog | 6 ++++++\n posix/glob.c | 8 ++++----\n posix/glob_internal.h | 18 +++++++++++++-----\n posix/glob_pattern_p.c | 2 +-\n 4 files changed, 24 insertions(+), 10 deletions(-)", "diff": "diff --git a/posix/glob.c b/posix/glob.c\nindex 2c8a3dc..30a4143 100644\n--- a/posix/glob.c\n+++ b/posix/glob.c\n@@ -903,7 +903,7 @@ glob (const char *pattern, int flags, int (*errfunc) (const char *, int),\n [ which we handle the same, using fnmatch. Broken unterminated\n pattern bracket expressions ought to be rare enough that it is\n not worth special casing them, fnmatch will do the right thing. */\n- if (meta & 5)\n+ if (meta & (__GLOB_SPECIAL | __GLOB_BRACKET))\n {\n /* The directory name contains metacharacters, so we\n \t have to glob for the directory, and then glob for\n@@ -1044,7 +1044,7 @@ glob (const char *pattern, int flags, int (*errfunc) (const char *, int),\n size_t old_pathc = pglob->gl_pathc;\n int orig_flags = flags;\n \n- if (meta & 2)\n+ if (meta & __GLOB_BACKSLASH)\n \t{\n \t char *p = strchr (dirname, '\\\\'), *q;\n \t /* We need to unescape the dirname string. It is certainly\n@@ -1242,14 +1242,14 @@ glob_in_dir (const char *pattern, const char *directory, int flags,\n / sizeof init_names->name[0]);\n \n meta = __glob_pattern_type (pattern, !(flags & GLOB_NOESCAPE));\n- if (meta == 0 && (flags & (GLOB_NOCHECK|GLOB_NOMAGIC)))\n+ if (meta == __GLOB_NONE && (flags & (GLOB_NOCHECK|GLOB_NOMAGIC)))\n {\n /* We need not do any tests. The PATTERN contains no meta\n \t characters and we must not return an error therefore the\n \t result will always contain exactly one name. */\n flags |= GLOB_NOCHECK;\n }\n- else if (meta == 0)\n+ else if (meta == __GLOB_NONE)\n {\n union\n {\ndiff --git a/posix/glob_internal.h b/posix/glob_internal.h\nindex 12c9366..2e09132 100644\n--- a/posix/glob_internal.h\n+++ b/posix/glob_internal.h\n@@ -19,35 +19,43 @@\n #ifndef GLOB_INTERNAL_H\n # define GLOB_INTERNAL_H\n \n+enum glob_pattern_type_t\n+{\n+ __GLOB_NONE = 0x0,\n+ __GLOB_SPECIAL = 0x1,\n+ __GLOB_BACKSLASH = 0x2,\n+ __GLOB_BRACKET = 0x4 \n+};\n+\n static inline int\n __glob_pattern_type (const char *pattern, int quote)\n {\n const char *p;\n- int ret = 0;\n+ int ret = __GLOB_NONE;\n \n for (p = pattern; *p != '\\0'; ++p)\n switch (*p)\n {\n case '?':\n case '*':\n- return 1;\n+ return __GLOB_SPECIAL;\n \n case '\\\\':\n if (quote)\n {\n if (p[1] != '\\0')\n ++p;\n- ret |= 2;\n+ ret |= __GLOB_BACKSLASH;\n }\n break;\n \n case '[':\n- ret |= 4;\n+ ret |= __GLOB_BRACKET;\n break;\n \n case ']':\n if (ret & 4)\n- return 1;\n+ return __GLOB_SPECIAL;\n break;\n }\n \ndiff --git a/posix/glob_pattern_p.c b/posix/glob_pattern_p.c\nindex a17d337..2502772 100644\n--- a/posix/glob_pattern_p.c\n+++ b/posix/glob_pattern_p.c\n@@ -28,6 +28,6 @@\n int\n __glob_pattern_p (const char *pattern, int quote)\n {\n- return __glob_pattern_type (pattern, quote) == 1;\n+ return __glob_pattern_type (pattern, quote) == __GLOB_SPECIAL;\n }\n weak_alias (__glob_pattern_p, glob_pattern_p)\n", "prefixes": [ "8/9" ] }