Fetcher.Setup(&Stat);
// temp file
- string targetfile = tmpnam(strdup("apt-changelog-XXXXXX"));
- new pkgAcqFile(&Fetcher, uri, "", 0, descr, srcpkg, "ignore", targetfile);
+ char *tmpdir = mkdtemp(strdup("apt-changelog-XXXXXX"));
+ if (tmpdir == NULL) {
+ _error->Errno("mkdtemp", "mkdtemp failed");
+ return "";
+ }
+ string targetfile = string(tmpdir) + "changelog";
// get it
+ new pkgAcqFile(&Fetcher, uri, "", 0, descr, srcpkg, tmpdir);
int res = Fetcher.Run();
+ free(tmpdir);
+
if (FileExists(targetfile))
return targetfile;
if (changelogfile.size() > 0)
{
DisplayFileInPager(changelogfile);
+ // cleanup
unlink(changelogfile.c_str());
+ rmdir(flNotFile(changelogfile).c_str());
}
}
+ return true;
}
/*}}}*/
// DoMoo - Never Ask, Never Tell /*{{{*/