]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/GitHTTPBackend.pm
run update-copyrights from gnulib for 2019
[public-inbox.git] / lib / PublicInbox / GitHTTPBackend.pm
index a2a81f8ea66a2dbe3ed81f885a5fda945e71bb38..c8878145b8c35488aa2ad32748bc5049dbda7c3b 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2016-2018 all contributors <meta@public-inbox.org>
+# Copyright (C) 2016-2019 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 
 # when no endpoints match, fallback to this and serve a static file
@@ -231,18 +231,16 @@ sub input_prepare {
                        return;
                }
                last if $r == 0;
-               my $off = 0;
-               while ($r > 0) {
-                       my $w = syswrite($in, $buf, $r, $off);
-                       if (defined $w) {
-                               $r -= $w;
-                               $off += $w;
-                       } else {
-                               err($env, "error writing temporary file: $!");
-                               return;
-                       }
+               unless (print $in $buf) {
+                       err($env, "error writing temporary file: $!");
+                       return;
                }
        }
+       # ensure it's visible to git-http-backend(1):
+       unless ($in->flush) {
+               err($env, "error writing temporary file: $!");
+               return;
+       }
        unless (defined(sysseek($in, 0, SEEK_SET))) {
                err($env, "error seeking temporary file: $!");
                return;