summaryrefslogtreecommitdiff
path: root/apt-pkg/deb
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2007-08-03 11:21:19 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2007-08-03 11:21:19 +0200
commit8da1f029b7544202da68100b22a2901809bf07af (patch)
tree818203202d4329bc3953304928abcaf1337a9fae /apt-pkg/deb
parentb30aa0ec229b851b25ea07c758283f502a3f2cba (diff)
* doc/examples/configure-index:
- updated Dir::Log::Terminal * apt-pkg/deb/dpkgpm.cc: - make the terminal log optional - rename Dir::Log::Name to Dir::Log::Terminal
Diffstat (limited to 'apt-pkg/deb')
-rw-r--r--apt-pkg/deb/dpkgpm.cc29
1 files changed, 17 insertions, 12 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index 8cb076edd..aa840f85e 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -357,8 +357,9 @@ void pkgDPkgPM::DoTerminalPty(int master, FILE *term_out)
int len=read(master, term_buf, sizeof(term_buf));
if(len <= 0)
return;
- fwrite(term_buf, len, sizeof(char), term_out);
write(1, term_buf, len);
+ if(term_out)
+ fwrite(term_buf, len, sizeof(char), term_out);
}
/*}}}*/
// DPkgPM::ProcessDpkgStatusBuf /*{{{*/
@@ -564,17 +565,21 @@ bool pkgDPkgPM::Go(int OutStatusFd)
if(not FileExists(logdir))
return _error->Error(_("Directory '%s' missing"), logdir.c_str());
string logfile_name = flCombine(logdir,
- _config->Find("Dir::Log::Name"));
- FILE *term_out = fopen(logfile_name.c_str(),"a");
- chmod(logfile_name.c_str(), 0600);
- // output current time
- char outstr[200];
- time_t t = time(NULL);
- struct tm *tmp = localtime(&t);
- strftime(outstr, sizeof(outstr), "%F %T", tmp);
- fprintf(term_out, "Log started: ");
- fprintf(term_out, outstr);
- fprintf(term_out, "\n");
+ _config->Find("Dir::Log::Terminal"));
+ FILE *term_out = NULL;
+ if (!logfile_name.empty())
+ {
+ term_out = fopen(logfile_name.c_str(),"a");
+ chmod(logfile_name.c_str(), 0600);
+ // output current time
+ char outstr[200];
+ time_t t = time(NULL);
+ struct tm *tmp = localtime(&t);
+ strftime(outstr, sizeof(outstr), "%F %T", tmp);
+ fprintf(term_out, "\nLog started: ");
+ fprintf(term_out, outstr);
+ fprintf(term_out, "\n");
+ }
// this loop is runs once per operation
for (vector<Item>::iterator I = List.begin(); I != List.end();)