]> git.saurik.com Git - apt.git/commitdiff
print error in log if tcgetattr() fails instead of writing
authorMichael Vogt <michael.vogt@ubuntu.com>
Fri, 4 Jan 2013 08:36:49 +0000 (09:36 +0100)
committerMichael Vogt <michael.vogt@ubuntu.com>
Fri, 4 Jan 2013 08:36:49 +0000 (09:36 +0100)
a empty file

apt-pkg/deb/dpkgpm.cc
debian/changelog

index fd1e6e085231fea7c79b92a68e1cda7be9334e70..0e468b590a8dff59619ecb4823b071a891b04c42 100644 (file)
@@ -423,7 +423,7 @@ bool pkgDPkgPM::RunScriptsWithPkgs(const char *Cnf)
 void pkgDPkgPM::DoStdin(int master)
 {
    unsigned char input_buf[256] = {0,}; 
-   ssize_t len = read(0, input_buf, sizeof(input_buf));
+   ssize_t len = read(STDIN_FILENO, input_buf, sizeof(input_buf));
    if (len)
       FileFd::Write(master, input_buf, len);
    else
@@ -1231,6 +1231,11 @@ bool pkgDPkgPM::Go(int OutStatusFd)
            tcsetattr(0, TCSAFLUSH, &rtt);
            sigprocmask(SIG_SETMASK, &original_sigmask, 0);
         }
+      } else {
+         const char *s = _("Can not write log, tcgetattr() failed for stdout");
+         fprintf(stderr, "%s", s);
+         if(d->term_out)
+            fprintf(d->term_out, "%s",s); 
       }
        // Fork dpkg
       pid_t Child;
index 3b9a9bafd03b9e1d365fe985abaf83bd2dc2858c..f4f060065fc0b9848ef55876b4391323a4c1c20a 100644 (file)
@@ -7,6 +7,8 @@ apt (0.9.7.8) UNRELEASED; urgency=low
   * apt-pkg/deb/dpkgpm.cc:
     - use tcgetattr() on STDOUT instead of STDIN so that term.log
       works for redirected stdin
+    - print error in log if tcgetattr() fails instead of writing
+      a empty file
 
  -- Christian Perrier <bubulle@debian.org>  Mon, 24 Dec 2012 07:01:20 +0100