commit 07d201659d0aa253f3b8c406eee26d4b02a8c38f
Author: Robert Collins <rbtcollins@hp.com>
Date:   Wed Jan 30 18:14:32 2013 +1300

    Cleanup build warnings.

diff --git a/debian/changelog b/debian/changelog
index 7a861f6..ccf6da7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+debianutils (4.3.5) unstable; urgency=low
+
+  * Fix compile warnings with a crude hammer.
+
+ -- Robert Collins <rbtcollins@hp.com>  Wed, 30 Jan 2013 17:42:41 +1300
+
 debianutils (4.3.4) unstable; urgency=low
 
   [ David Prévot ]
diff --git a/run-parts.c b/run-parts.c
index 7bc8d49..a4f0c65 100644
--- a/run-parts.c
+++ b/run-parts.c
@@ -255,6 +255,16 @@ void run_part(char *progname)
         exit(1);
       }
       else if (r > 0) {
+	/* If STDOUT or STDERR get closed / full, we still run to completion
+	 * (and just ignore that we can't output process output any more).
+	 * Perhaps we should instead kill the child process we are running
+	 * if that happens.
+	 * For now partial writes are not retried to complete - that can
+	 * and should be done, but needs care to ensure that we don't hang
+	 * if the fd doesn't accept more data ever - or we need to decide that
+	 * waiting is the appropriate thing to do.
+	 */
+	int ignored;
 	if (pout[0] >= 0 && FD_ISSET(pout[0], &set)) {
 	  c = read(pout[0], buf, sizeof(buf));
 	  if (c > 0) {
@@ -263,7 +273,7 @@ void run_part(char *progname)
 	      fflush(stdout);
 	      printflag = 1;
 	    }
-	    write(STDOUT_FILENO, buf, c);
+	    ignored = write(STDOUT_FILENO, buf, c);
 	  }
 	  else if (c == 0) {
 	    close(pout[0]);
@@ -283,7 +293,7 @@ void run_part(char *progname)
 	      fflush(stderr);
 	      printflag = 1;
 	    }
-	    write(STDERR_FILENO, buf, c);
+	    ignored = write(STDERR_FILENO, buf, c);
 	  }
 	  else if (c == 0) {
 	    close(perr[0]);
