Re: [PATCH] emacs: wash: make word-wrap bound message width
[notmuch-archives.git] / 78 / e74e9f0ed975e2691499a3ba562618dfc474e0
1 Return-Path: <bremner@tethera.net>\r
2 X-Original-To: notmuch@notmuchmail.org\r
3 Delivered-To: notmuch@notmuchmail.org\r
4 Received: from localhost (localhost [127.0.0.1])\r
5         by olra.theworths.org (Postfix) with ESMTP id DCBF4431FAF\r
6         for <notmuch@notmuchmail.org>; Sat, 19 Jan 2013 10:26:43 -0800 (PST)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: 0\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]\r
12         autolearn=disabled\r
13 Received: from olra.theworths.org ([127.0.0.1])\r
14         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
15         with ESMTP id EkfyYHPTPzfX for <notmuch@notmuchmail.org>;\r
16         Sat, 19 Jan 2013 10:26:43 -0800 (PST)\r
17 Received: from tesseract.cs.unb.ca (tesseract.cs.unb.ca [131.202.240.238])\r
18         (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))\r
19         (No client certificate requested)\r
20         by olra.theworths.org (Postfix) with ESMTPS id C6209431FD4\r
21         for <notmuch@notmuchmail.org>; Sat, 19 Jan 2013 10:26:11 -0800 (PST)\r
22 Received: from fctnnbsc30w-156034082078.dhcp-dynamic.fibreop.nb.bellaliant.net\r
23         ([156.34.82.78] helo=zancas.localnet)\r
24         by tesseract.cs.unb.ca with esmtpsa\r
25         (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80)\r
26         (envelope-from <bremner@tethera.net>)\r
27         id 1Twd7I-0007xJ-PB; Sat, 19 Jan 2013 14:26:09 -0400\r
28 Received: from bremner by zancas.localnet with local (Exim 4.80)\r
29         (envelope-from <bremner@tethera.net>)\r
30         id 1Twd7D-0005aj-6I; Sat, 19 Jan 2013 14:26:03 -0400\r
31 From: david@tethera.net\r
32 To: notmuch@notmuchmail.org\r
33 Subject: [PATCH 3/7] CLI: convert top level argument parsing to use\r
34         command-line-arguments\r
35 Date: Sat, 19 Jan 2013 14:25:54 -0400\r
36 Message-Id: <1358619958-21209-4-git-send-email-david@tethera.net>\r
37 X-Mailer: git-send-email 1.7.10.4\r
38 In-Reply-To: <1358619958-21209-1-git-send-email-david@tethera.net>\r
39 References: <1358619958-21209-1-git-send-email-david@tethera.net>\r
40 X-Spam_bar: -\r
41 Cc: David Bremner <bremner@debian.org>\r
42 X-BeenThere: notmuch@notmuchmail.org\r
43 X-Mailman-Version: 2.1.13\r
44 Precedence: list\r
45 List-Id: "Use and development of the notmuch mail system."\r
46         <notmuch.notmuchmail.org>\r
47 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
48         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
49 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
50 List-Post: <mailto:notmuch@notmuchmail.org>\r
51 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
52 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
53         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
54 X-List-Received-Date: Sat, 19 Jan 2013 18:26:44 -0000\r
55 \r
56 From: David Bremner <bremner@debian.org>\r
57 \r
58 This isn't really a win for conciseness yet, but will make it easier\r
59 to add options.\r
60 ---\r
61  notmuch.c |   22 ++++++++++++++++++----\r
62  1 file changed, 18 insertions(+), 4 deletions(-)\r
63 \r
64 diff --git a/notmuch.c b/notmuch.c\r
65 index f13fd27..a674481 100644\r
66 --- a/notmuch.c\r
67 +++ b/notmuch.c\r
68 @@ -249,6 +249,14 @@ main (int argc, char *argv[])\r
69      void *local;\r
70      command_t *command;\r
71      unsigned int i;\r
72 +    notmuch_bool_t print_help=FALSE, print_version=FALSE;\r
73 +    int opt_index;\r
74 +\r
75 +    notmuch_opt_desc_t options[] = {\r
76 +       { NOTMUCH_OPT_BOOLEAN, &print_help, "help", 'h', 0 },\r
77 +       { NOTMUCH_OPT_BOOLEAN, &print_version, "version", 'v', 0 },\r
78 +       { 0, 0, 0, 0, 0 }\r
79 +    };\r
80  \r
81      talloc_enable_null_tracking ();\r
82  \r
83 @@ -263,10 +271,16 @@ main (int argc, char *argv[])\r
84      if (argc == 1)\r
85         return notmuch (local);\r
86  \r
87 -    if (strcmp (argv[1], "--help") == 0)\r
88 +    opt_index = parse_arguments (argc, argv, options, 1);\r
89 +    if (opt_index < 0) {\r
90 +       /* diagnostics already printed */\r
91 +       return 1;\r
92 +    }\r
93 +\r
94 +    if (print_help)\r
95         return notmuch_help_command (NULL, argc - 1, &argv[1]);\r
96  \r
97 -    if (strcmp (argv[1], "--version") == 0) {\r
98 +    if (print_version) {\r
99         printf ("notmuch " STRINGIFY(NOTMUCH_VERSION) "\n");\r
100         return 0;\r
101      }\r
102 @@ -274,11 +288,11 @@ main (int argc, char *argv[])\r
103      for (i = 0; i < ARRAY_SIZE (commands); i++) {\r
104         command = &commands[i];\r
105  \r
106 -       if (strcmp (argv[1], command->name) == 0) {\r
107 +       if (strcmp (argv[opt_index], command->name) == 0) {\r
108             int ret;\r
109             char *talloc_report;\r
110  \r
111 -           ret = (command->function)(local, argc - 1, &argv[1]);\r
112 +           ret = (command->function)(local, argc - opt_index, argv + opt_index);\r
113  \r
114             /* in the future support for this environment variable may\r
115              * be supplemented or replaced by command line arguments\r
116 -- \r
117 1.7.10.4\r
118 \r