]> git.cworth.org Git - notmuch/blobdiff - notmuch-insert.c
cli/insert: clean up sync_dir
[notmuch] / notmuch-insert.c
index ccb091ac0561f1af3ceb1f2daefd0e26f7990e88..7375c54888987c062d841c0ab94456d782ec44c8 100644 (file)
@@ -67,20 +67,21 @@ safe_gethostname (char *hostname, size_t len)
 static notmuch_bool_t
 sync_dir (const char *dir)
 {
-    notmuch_bool_t ret;
-    int fd;
+    int fd, r;
 
     fd = open (dir, O_RDONLY);
     if (fd == -1) {
-       fprintf (stderr, "Error: open() dir failed: %s\n", strerror (errno));
+       fprintf (stderr, "Error: open %s: %s\n", dir, strerror (errno));
        return FALSE;
     }
-    ret = (fsync (fd) == 0);
-    if (! ret) {
-       fprintf (stderr, "Error: fsync() dir failed: %s\n", strerror (errno));
-    }
+
+    r = fsync (fd);
+    if (r)
+       fprintf (stderr, "Error: fsync %s: %s\n", dir, strerror (errno));
+
     close (fd);
-    return ret;
+
+    return r == 0;
 }
 
 /*
@@ -251,11 +252,12 @@ maildir_open_tmp_file (void *ctx, const char *dir,
     return fd;
 }
 
-/* Copy the contents of standard input (fdin) into fdout.
- * Returns TRUE if a non-empty file was written successfully.
- * Otherwise, return FALSE. */
+/*
+ * Copy fdin to fdout, return TRUE on success, and FALSE on errors and
+ * empty input.
+ */
 static notmuch_bool_t
-copy_stdin (int fdin, int fdout)
+copy_fd (int fdout, int fdin)
 {
     notmuch_bool_t empty = TRUE;
 
@@ -308,7 +310,7 @@ write_message (void *ctx, int fdin, const char *dir, char **newpath)
 
     cleanup_path = tmppath;
 
-    if (! copy_stdin (fdin, fdout))
+    if (! copy_fd (fdout, fdin))
        goto FAIL;
 
     if (fsync (fdout) != 0) {