From eb304d3cc3d832567ba3a37bfe9a80e1172c6337 Mon Sep 17 00:00:00 2001 From: Peter Wang Date: Sun, 20 Jan 2013 11:49:54 +1100 Subject: [PATCH] [PATCH v3 10/20] insert: support --folder option --- 94/b0084a932ab528a7bac476ec2fc4feeb324407 | 115 ++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 94/b0084a932ab528a7bac476ec2fc4feeb324407 diff --git a/94/b0084a932ab528a7bac476ec2fc4feeb324407 b/94/b0084a932ab528a7bac476ec2fc4feeb324407 new file mode 100644 index 000000000..22aae0e3b --- /dev/null +++ b/94/b0084a932ab528a7bac476ec2fc4feeb324407 @@ -0,0 +1,115 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id 797F2429E40 + for ; Sat, 19 Jan 2013 16:51:37 -0800 (PST) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: -0.799 +X-Spam-Level: +X-Spam-Status: No, score=-0.799 tagged_above=-999 required=5 + tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, + FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id CScjRkvH5tpW for ; + Sat, 19 Jan 2013 16:51:36 -0800 (PST) +Received: from mail-pb0-f50.google.com (mail-pb0-f50.google.com + [209.85.160.50]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id A5255431FD7 + for ; Sat, 19 Jan 2013 16:51:22 -0800 (PST) +Received: by mail-pb0-f50.google.com with SMTP id wz7so2678828pbc.37 + for ; Sat, 19 Jan 2013 16:51:21 -0800 (PST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; + h=x-received:from:to:cc:subject:date:message-id:x-mailer:in-reply-to + :references; bh=8AfT3+ZwENkxpre4nk7PSAU4onr00rxvhHFAKCUbbQA=; + b=juN0PNTOr/0ZsUFS9hAKN9f8NJ48F7YpVS8zeufXDRlYJuEAWidV3xX6+UUwuEqcTH + YFFqKA0jUiSTidDRZidjSDPrHaLJqaiVGtOHkjxcWTwiEL6S8LtImMoxmmNmD6/nE1vM + c+2G+SmsHnK9UZKXAM/03ylhUWaY1GYNEAdJ0md5Rs/5wTVJdVYfevvGpYbqZ9PRq3sO + tIZnfBDCm0ESYcOgcBkogQ9Wbd9KR/a6ugYUdungz14vHhsctXgmDcv1I2/9rEjC5JeM + pmufQ1ei7d8bQX88qXAtPorge0tY2tyq5JPthVhq9RxyAQ/Y8Duu1T7FytFwRBnWrrTB + 2xyA== +X-Received: by 10.66.79.168 with SMTP id k8mr36445007pax.22.1358643081774; + Sat, 19 Jan 2013 16:51:21 -0800 (PST) +Received: from localhost (215.42.233.220.static.exetel.com.au. + [220.233.42.215]) + by mx.google.com with ESMTPS id oi3sm5811448pbb.1.2013.01.19.16.51.19 + (version=TLSv1.2 cipher=RC4-SHA bits=128/128); + Sat, 19 Jan 2013 16:51:21 -0800 (PST) +From: Peter Wang +To: notmuch@notmuchmail.org +Subject: [PATCH v3 10/20] insert: support --folder option +Date: Sun, 20 Jan 2013 11:49:54 +1100 +Message-Id: <1358643004-14522-11-git-send-email-novalazy@gmail.com> +X-Mailer: git-send-email 1.7.12.1 +In-Reply-To: <1358643004-14522-1-git-send-email-novalazy@gmail.com> +References: <1358643004-14522-1-git-send-email-novalazy@gmail.com> +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Sun, 20 Jan 2013 00:51:38 -0000 + +Allow the new message to be inserted into a folder within the Maildir +hierarchy instead of the top-level folder. +--- + notmuch-insert.c | 22 ++++++++++++++++++++-- + 1 file changed, 20 insertions(+), 2 deletions(-) + +diff --git a/notmuch-insert.c b/notmuch-insert.c +index b0ac174..ba8cf5a 100644 +--- a/notmuch-insert.c ++++ b/notmuch-insert.c +@@ -236,11 +236,25 @@ notmuch_insert_command (void *ctx, int argc, char *argv[]) + size_t new_tags_length; + tag_op_list_t *tag_ops; + char *query_string = NULL; ++ const char *folder = NULL; + char *maildir; +- int opt_index = 1; ++ int opt_index; + unsigned int i; + notmuch_bool_t ret; + ++ notmuch_opt_desc_t options[] = { ++ { NOTMUCH_OPT_STRING, &folder, "folder", 0, 0 }, ++ { NOTMUCH_OPT_END, 0, 0, 0, 0 } ++ }; ++ ++ opt_index = parse_arguments (argc, argv, options, 1); ++ ++ if (opt_index < 0) { ++ fprintf (stderr, "Error: bad argument to notmuch insert: %s\n", ++ argv[-opt_index]); ++ return 1; ++ } ++ + config = notmuch_config_open (ctx, NULL, NULL); + if (config == NULL) + return 1; +@@ -267,7 +281,11 @@ notmuch_insert_command (void *ctx, int argc, char *argv[]) + return 1; + } + +- maildir = talloc_asprintf (ctx, "%s", db_path); ++ if (folder != NULL) { ++ maildir = talloc_asprintf (ctx, "%s/%s", db_path, folder); ++ } else { ++ maildir = talloc_asprintf (ctx, "%s", db_path); ++ } + if (! maildir) { + fprintf (stderr, "Out of memory\n"); + return 1; +-- +1.7.12.1 + -- 2.26.2