]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch.c
lib/cli: pass GMIME_ENABLE_RFC2047_WORKAROUNDS to g_mime_init()
[notmuch] / notmuch.c
index 99ddd6d080fb6a23068ee904b2c6c0f23832da3b..7300c2145ea7c552aa7169a32870e5a154b8453a 100644 (file)
--- a/notmuch.c
+++ b/notmuch.c
@@ -44,6 +44,8 @@ static command_t commands[] = {
       "Interactively setup notmuch for first use." },
     { "new", notmuch_new_command, FALSE,
       "Find and import new messages to the notmuch database." },
+    { "insert", notmuch_insert_command, FALSE,
+      "Add a new message into the maildir and notmuch database." },
     { "search", notmuch_search_command, FALSE,
       "Search for messages matching the given search terms." },
     { "show", notmuch_show_command, FALSE,
@@ -238,32 +240,6 @@ notmuch_command (notmuch_config_t *config,
     return 0;
 }
 
-static int
-redirect_stderr (const char * stderr_file)
-{
-    if (strcmp (stderr_file, "-") == 0) {
-       if (dup2 (STDOUT_FILENO, STDERR_FILENO) < 0) {
-           perror ("dup2");
-           return 1;
-       }
-    } else {
-       int fd = open (stderr_file, O_WRONLY|O_CREAT|O_TRUNC, 0666);
-       if (fd < 0) {
-           fprintf (stderr, "Error: Cannot redirect stderr to '%s': %s\n",
-                    stderr_file, strerror (errno));
-           return 1;
-       }
-       if (fd != STDERR_FILENO) {
-           if (dup2 (fd, STDERR_FILENO) < 0) {
-               perror ("dup2");
-               return 1;
-           }
-           close (fd);
-       }
-    }
-    return 0;
-}
-
 int
 main (int argc, char *argv[])
 {
@@ -272,7 +248,6 @@ main (int argc, char *argv[])
     const char *command_name = NULL;
     command_t *command;
     char *config_file_name = NULL;
-    char *stderr_file = NULL;
     notmuch_config_t *config;
     notmuch_bool_t print_help=FALSE, print_version=FALSE;
     int opt_index;
@@ -282,7 +257,6 @@ main (int argc, char *argv[])
        { NOTMUCH_OPT_BOOLEAN, &print_help, "help", 'h', 0 },
        { NOTMUCH_OPT_BOOLEAN, &print_version, "version", 'v', 0 },
        { NOTMUCH_OPT_STRING, &config_file_name, "config", 'c', 0 },
-       { NOTMUCH_OPT_STRING, &stderr_file, "stderr", '\0', 0 },
        { 0, 0, 0, 0, 0 }
     };
 
@@ -290,8 +264,10 @@ main (int argc, char *argv[])
 
     local = talloc_new (NULL);
 
-    g_mime_init (0);
+    g_mime_init (GMIME_ENABLE_RFC2047_WORKAROUNDS);
+#if !GLIB_CHECK_VERSION(2, 35, 1)
     g_type_init ();
+#endif
 
     /* Globally default to the current output format version. */
     notmuch_format_version = NOTMUCH_FORMAT_CUR;
@@ -302,10 +278,6 @@ main (int argc, char *argv[])
        return 1;
     }
 
-    if (stderr_file && redirect_stderr (stderr_file) != 0) {
-       /* error already printed */
-       return 1;
-    }
     if (print_help)
        return notmuch_help_command (NULL, argc - 1, &argv[1]);