Re: [PATCH 1/2] cli: fix notmuch top level argument parsing
authorMichal Nazarewicz <mina86@mina86.com>
Mon, 3 Dec 2012 21:32:52 +0000 (22:32 +0100)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:51:23 +0000 (09:51 -0800)
e0/d00594fca4278a5a0688ea553f8f34f8471d5a [new file with mode: 0644]

diff --git a/e0/d00594fca4278a5a0688ea553f8f34f8471d5a b/e0/d00594fca4278a5a0688ea553f8f34f8471d5a
new file mode 100644 (file)
index 0000000..428ccdd
--- /dev/null
@@ -0,0 +1,160 @@
+Return-Path: <mpn@google.com>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id E15F3431FBC\r
+       for <notmuch@notmuchmail.org>; Mon,  3 Dec 2012 13:33:04 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.7\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5\r
+       tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7]\r
+       autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id VIIEj45VByO4 for <notmuch@notmuchmail.org>;\r
+       Mon,  3 Dec 2012 13:33:04 -0800 (PST)\r
+Received: from mail-ea0-f181.google.com (mail-ea0-f181.google.com\r
+       [209.85.215.181]) (using TLSv1 with cipher RC4-SHA (128/128 bits))\r
+       (No client certificate requested)\r
+       by olra.theworths.org (Postfix) with ESMTPS id D95BB431FAE\r
+       for <notmuch@notmuchmail.org>; Mon,  3 Dec 2012 13:33:03 -0800 (PST)\r
+Received: by mail-ea0-f181.google.com with SMTP id k14so1656425eaa.26\r
+       for <notmuch@notmuchmail.org>; Mon, 03 Dec 2012 13:33:02 -0800 (PST)\r
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\r
+ s=20120113;   h=sender:from:to:subject:in-reply-to:organization:references\r
+       :user-agent:x-face:face:x-pgp:x-pgp-fp:date:message-id:mime-version\r
+       :content-type; bh=E/m+L38yt+5ZWOw83mJIApGRiZlIU1XA+cMYD1LSXZ0=;\r
+       b=ckFLOCYEvYRo3cXcKfkfR+z225HI7b2O9iFe/XXp1Gnhxm53V4jkiY4mBA7Q2ZfcKz\r
+       /vUuURmsBXSELW2E6YoPLDPffXKPkZMH78rVR7A1Q8oLKgnVl+xmp6j2hTMS8i1lg65/\r
+       pxYeMISFkQgBXFd+nUtHHtdfxr+z4JXYfWDJgMqUIjFu/Dx+YbkcsaVtjKp/a0G85pL3\r
+       4RKp/P6oZ+8e0gIFZwoSt0rL+DHSYvPQ02J2p3TAcF1DCaz8LUHDf7T0Yf8LKoJTkVWC\r
+       GiQUo/tpDv1WhjdCPZCoeV7oh5OgEmNTLcA/4dcl8Ou4gq1PJbJd+wSDRd86AxZu3TSF    U43w==\r
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\r
+       d=google.com; s=20120113;\r
+       h=sender:from:to:subject:in-reply-to:organization:references\r
+       :user-agent:x-face:face:x-pgp:x-pgp-fp:date:message-id:mime-version\r
+       :content-type:x-gm-message-state;\r
+       bh=E/m+L38yt+5ZWOw83mJIApGRiZlIU1XA+cMYD1LSXZ0=;\r
+       b=gWNRj2i59F0Wug7YlfR43w+jT2GSX9vrV4apinfwDFDq76gHgbqk1cuehg4tS7ml78\r
+       s4WqSmJwiKWTwM9X+K5cwClyVZ7txDl5u6/6Wo7M7TEHtNPgi45YtMBi/MhvwdL9Jx+v\r
+       JMr6C4sDi+3KsD1/NL7Z6P1sJw2XJdomxxc7mtyGSnJo1Sm92PMyTlNnILK8IZvVcb8S\r
+       JYrZzwI1We8dUcRw5ev9B1TYA/M/DfTqUUP8ahjy14A9TY+hsifmXsKP9H/GrFlp9Q47\r
+       Z2IeKHnW9ZR5aIDZLVxaORmG02bqqyFO4JePffUfyp2tGJP4fhO1MUDZTzRSrs0EXp4t\r
+       DEjA==\r
+Received: by 10.14.213.134 with SMTP id a6mr40544758eep.45.1354570382594;\r
+       Mon, 03 Dec 2012 13:33:02 -0800 (PST)\r
+Received: from mpn-glaptop ([2620:0:105f:5:e550:22e2:cbaa:1724])\r
+       by mx.google.com with ESMTPS id d3sm7692246eeo.13.2012.12.03.13.33.00\r
+       (version=TLSv1/SSLv3 cipher=OTHER);\r
+       Mon, 03 Dec 2012 13:33:01 -0800 (PST)\r
+Sender: Michal Nazarewicz <mpn@google.com>\r
+From: Michal Nazarewicz <mina86@mina86.com>\r
+To: Jani Nikula <jani@nikula.org>, notmuch@notmuchmail.org\r
+Subject: Re: [PATCH 1/2] cli: fix notmuch top level argument parsing\r
+In-Reply-To:\r
+ <c4f2a1048763950dd14e13c99a4e7eb333be8c9d.1354568072.git.jani@nikula.org>\r
+Organization: http://mina86.com/\r
+References:\r
+ <c4f2a1048763950dd14e13c99a4e7eb333be8c9d.1354568072.git.jani@nikula.org>\r
+User-Agent: Notmuch/ (http://notmuchmail.org) Emacs/24.2.50.1\r
+       (x86_64-unknown-linux-gnu)\r
+X-Face: PbkBB1w#)bOqd`iCe"Ds{e+!C7`pkC9a|f)Qo^BMQvy\q5x3?vDQJeN(DS?|-^$uMti[3D*#^_Ts"pU$jBQLq~Ud6iNwAw_r_o_4]|JO?]}P_}Nc&"p#D(ZgUb4uCNPe7~a[DbPG0T~!&c.y$Ur,=N4RT>]dNpd;       KFrfMCylc}gc??'U2j,!8%xdD\r
+Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEWbfGlUPDDHgE57V0jUupKjgIObY0PLrom9mH4dFRK4gmjPs41MxjOgAAACQElEQVQ4jW3TMWvbQBQHcBk1xE6WyALX1069oZBMlq+ouUwpEQQ6uRjttkWP4CmBgGM0BQLBdPFZYPsyFUo6uEtKDQ7oy/U96XR2Ux8ehH/89Z6enqxBcS7Lg81jmSuujrfCZcLI/TYYvbGj+jbgFpHJ/bqQAUISj8iLyu4LuFHJTosxsucO4jSDNE0Hq3hwK/ceQ5sx97b8LcUDsILfk+ovHkOIsMbBfg43VuQ5Ln9YAGCkUdKJoXR9EclFBhixy3EGVz1K6eEkhxCAkeMMnqoAhAKwhoUJkDrCqvbecaYINlFKSRS1i12VKH1XpUd4qxL876EkMcDvHj3s5RBajHHMlA5iK32e0C7VgG0RlzFPvoYHZLRmAC0BmNcBruhkE0KsMsbEc62ZwUJDxWUdMsMhVqovoT96i/DnX/ASvz/6hbCabELLk/6FF/8PNpPCGqcZTGFcBhhAaZZDbQPaAB3+KrWWy2XgbYDNIinkdWAFcCpraDE/knwe5DBqGmgzESl1p2E4MWAz0VUPgYYzmfWb9yS4vCvgsxJriNTHoIBz5YteBvg+VGISQWUqhMiByPIPpygeDBE6elD973xWwKkEiHZAHKjhuPsFnBuArrzxtakRcISv+XMIPl4aGBUJm8Emk7qBYU8IlgNEIpiJhk/No24jHwkKTFHDWfPniR4iw5vJaw2nzSjfq2zffcE/GDjRC2dn0J0XwPAbDL84TvaFCJEU4Oml9pRyEUhR3Cl2t01AoEjRbs0sYugp14/4X5n4pU4EHHnMAAAAAElFTkSuQmCC\r
+X-PGP: 50751FF4\r
+X-PGP-FP: AC1F 5F5C D418 88F8 CC84 5858 2060 4012 5075 1FF4\r
+Date: Mon, 03 Dec 2012 22:32:52 +0100\r
+Message-ID: <xa1tpq2qstx7.fsf@mina86.com>\r
+MIME-Version: 1.0\r
+Content-Type: multipart/mixed; boundary="=-=-="\r
+X-Gm-Message-State: ALoCoQkbqW6r2Sexhrt8hTeKwoUEwuvNs9HKcbQ1HZXOBUqV6whehrSaeEm07UsX1l7/14PX6mp6cHSeNo/Xzci8fj3G9YMFXSJKhmQndDgcbKc93J9Ohxf3bjcyfWn+QuAw0Ui+4UVrX3y5jQ+QX5I7sNJCmXCfL2P55aCvvIgha19NOVzGrrVvBcEyu4TUESUUfseQRT6NqiaMzzfXADSnRCK8hOfV5A==\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Mon, 03 Dec 2012 21:33:05 -0000\r
+\r
+--=-=-=\r
+Content-Type: text/plain; charset=utf-8\r
+Content-Transfer-Encoding: quoted-printable\r
+\r
+On Mon, Dec 03 2012, Jani Nikula wrote:\r
+> Use strcmp instead of STRNCMP_LITERAL, which matches the prefix\r
+> instead of the whole argument.\r
+\r
+Perhaps add and use this instead:\r
+\r
+#define STRCMP_LITERAL(var, literal) \\r
+    strncmp ((var), (literal), sizeof (literal))\r
+\r
+Than again, it's argument parsing so hardly a performance critical path,\r
+so maybe readability is more important.\r
+\r
+> ---\r
+>  notmuch.c |    4 ++--\r
+>  1 file changed, 2 insertions(+), 2 deletions(-)\r
+>\r
+> diff --git a/notmuch.c b/notmuch.c\r
+> index 477a09c..4ff66e3 100644\r
+> --- a/notmuch.c\r
+> +++ b/notmuch.c\r
+> @@ -245,10 +245,10 @@ main (int argc, char *argv[])\r
+>      if (argc =3D=3D 1)\r
+>      return notmuch (local);\r
+>=20=20\r
+> -    if (STRNCMP_LITERAL (argv[1], "--help") =3D=3D 0)\r
+> +    if (strcmp (argv[1], "--help") =3D=3D 0)\r
+>      return notmuch_help_command (NULL, argc - 1, &argv[1]);\r
+>=20=20\r
+> -    if (STRNCMP_LITERAL (argv[1], "--version") =3D=3D 0) {\r
+> +    if (strcmp (argv[1], "--version") =3D=3D 0) {\r
+>      printf ("notmuch " STRINGIFY(NOTMUCH_VERSION) "\n");\r
+>      return 0;\r
+>      }\r
+\r
+--=20\r
+Best regards,                                         _     _\r
+.o. | Liege of Serenely Enlightened Majesty of      o' \,=3D./ `o\r
+..o | Computer Science,  Micha=C5=82 =E2=80=9Cmina86=E2=80=9D Nazarewicz   =\r
+ (o o)\r
+ooo +----<email/xmpp: mpn@google.com>--------------ooO--(_)--Ooo--\r
+--=-=-=\r
+Content-Type: multipart/signed; boundary="==-=-=";\r
+       micalg=pgp-sha1; protocol="application/pgp-signature"\r
+\r
+--==-=-=\r
+Content-Type: text/plain\r
+\r
+\r
+--==-=-=\r
+Content-Type: application/pgp-signature\r
+\r
+-----BEGIN PGP SIGNATURE-----\r
+Version: GnuPG v1.4.11 (GNU/Linux)\r
+\r
+iQIcBAEBAgAGBQJQvRqEAAoJECBgQBJQdR/06wUP/1DlPwlaQNU9tHKrHvv/+Z4S\r
+4ctpMBI61COGRost+qf06Gm0PaFgbhIAaZVKschVE+IDESAROsakS1Ona3oNx1tZ\r
+1MQ9H7l/JBAx8r+6rvKPNxU+h270k9kkt6qZ9VunAwPxAsvYOyFnI1uEZSKIk6io\r
+fh5XLmUkfaTs5DplawYZoL2fczL1OVIaC4LclixKW4m4EYPbUduwewvPVR6OrOt+\r
+UWBgx+JGQozzEOE5tI6nNkz3stIp58pe1Wl+zKmuaUf4ZdqWbLym94K4VeLyA+cC\r
+CuDB37D8zhSrYcvD/d3Yh4MgvDPqMCq323mFtdmO5kE+J9NX159IelyYk3qaVIJ3\r
+f4QlTkTQIogsQXI/iX3CcVhtyd9mOTOrinmHqdw1RwFQ98JXmB/JemjbdboacLr7\r
+JrO+rX/FuZQHPJRe921xLiZ3sEHzlxinAZeGu3gNfzmDxa1QCnRs+gVKReF00wcz\r
+yZzIA9FZFCxR2p9hTfsHFPmoCyD3F61UsuLLK2RUBNbqwZGNBp5/qDpMCLs9NsgM\r
+HQ1ObiPdrDdsP9ImBzohW1PUYGt5xOB4giXgRECJyU3PZyZzSAttEd56YxJ+35L1\r
+kRgu3F5JicFuuDDD762khRnKmAIytLyEKCGEERf/355WdSO2Y3qUaTH2eobrIAMC\r
+AJOPXyUIKtk2BJyyEH7F\r
+=9Hj4\r
+-----END PGP SIGNATURE-----\r
+--==-=-=--\r
+\r
+--=-=-=--\r