X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/08945efa9545add65ee6709e55d9fc9bf40bac65..b779e471ec2c549c69a0967583a1f2fee243288d:/cmdline/apt-extracttemplates.cc?ds=sidebyside diff --git a/cmdline/apt-extracttemplates.cc b/cmdline/apt-extracttemplates.cc index d77057786..eecb7fe2f 100644 --- a/cmdline/apt-extracttemplates.cc +++ b/cmdline/apt-extracttemplates.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: apt-extracttemplates.cc,v 1.11 2002/09/21 21:29:13 jgg Exp $ +// $Id: apt-extracttemplates.cc,v 1.15 2003/07/26 00:00:11 mdz Exp $ /* ###################################################################### APT Extract Templates - Program to extract debconf config and template @@ -41,6 +41,8 @@ #include "apt-extracttemplates.h" /*}}}*/ +using namespace std; + #define TMPDIR "/tmp" pkgCache *DebFile::Cache = 0; @@ -243,11 +245,19 @@ int ShowHelp(void) // WriteFile - write the contents of the passed string to a file /*{{{*/ // --------------------------------------------------------------------- /* */ -string WriteFile(const char *prefix, const char *data) +string WriteFile(const char *package, const char *prefix, const char *data) { char fn[512]; static int i; - snprintf(fn, sizeof(fn), "%s/%s.%u%d", _config->Find("APT::ExtractTemplates::TempDir", TMPDIR).c_str(), prefix, getpid(), i++); + char *tempdir = NULL; + + tempdir = getenv("TMPDIR"); + if (tempdir == NULL) + tempdir = TMPDIR; + + snprintf(fn, sizeof(fn), "%s/%s.%s.%u%d", + _config->Find("APT::ExtractTemplates::TempDir", tempdir).c_str(), + package, prefix, getpid(), i++); FileFd f; if (data == NULL) data = ""; @@ -268,8 +278,8 @@ string WriteFile(const char *prefix, const char *data) /* */ void WriteConfig(const DebFile &file) { - string templatefile = WriteFile("template", file.Template); - string configscript = WriteFile("config", file.Config); + string templatefile = WriteFile(file.Package.c_str(), "template", file.Template); + string configscript = WriteFile(file.Package.c_str(), "config", file.Config); if (templatefile.empty() == true || configscript.empty() == true) return;