2011-02-21 Paul Eggert <eggert@cs.ucla.edu>
+ * movemail.c (popmail): Report fchown failure instead of ignoring it.
+ But if the file already has the right ownership, don't worry about it.
+
* make-docfile.c (input_buffer): Rename variables to avoid shadowing.
* movemail.c (main, pop_retr): Rename locals to avoid shadowing.
error ("Error in open: %s, %s", strerror (errno), outfile);
return EXIT_FAILURE;
}
- fchown (mbfi, getuid (), -1);
+
+ if (fchown (mbfi, getuid (), -1) != 0)
+ {
+ int fchown_errno = errno;
+ struct stat st;
+ if (fstat (mbfi, &st) != 0 || st.st_uid != getuid ())
+ {
+ pop_close (server);
+ error ("Error in fchown: %s, %s", strerror (fchown_errno), outfile);
+ return EXIT_FAILURE;
+ }
+ }
if ((mbf = fdopen (mbfi, "wb")) == NULL)
{