summaryrefslogtreecommitdiffstats
path: root/lib/Utils/DebugDump.cpp
diff options
context:
space:
mode:
authorZdenek Prikryl <zprikryl@redhat.com>2009-02-11 10:22:09 +0100
committerZdenek Prikryl <zprikryl@redhat.com>2009-02-11 10:22:09 +0100
commitc37394c5d4517b36ec1826668f7b7d75e94dc14a (patch)
treea30c58e3f11a66d0d31ef1a9bb4754ddeddd3887 /lib/Utils/DebugDump.cpp
parent021c815746d47f7fe161a27f709debfd2491eaf7 (diff)
downloadabrt-c37394c5d4517b36ec1826668f7b7d75e94dc14a.tar.gz
abrt-c37394c5d4517b36ec1826668f7b7d75e94dc14a.tar.xz
abrt-c37394c5d4517b36ec1826668f7b7d75e94dc14a.zip
added new constructionr and new method for getting time
Diffstat (limited to 'lib/Utils/DebugDump.cpp')
-rw-r--r--lib/Utils/DebugDump.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/lib/Utils/DebugDump.cpp b/lib/Utils/DebugDump.cpp
index 9fd887f..e0f88c4 100644
--- a/lib/Utils/DebugDump.cpp
+++ b/lib/Utils/DebugDump.cpp
@@ -32,6 +32,7 @@
#include <fcntl.h>
#include <sys/procfs.h>
#include <ctype.h>
+#include <time.h>
CDebugDump::CDebugDump() :
m_sDebugDumpDir("")
@@ -75,8 +76,16 @@ void CDebugDump::Create(const std::string& pDir)
throw "CDebugDump::Create(): Cannot create dir: " + pDir;
}
SaveEnvironment();
+ SaveTime();
}
+void CDebugDump::Create(const std::string& pDir, const std::string& pPID)
+{
+ Create(pDir);
+ SaveProc(pPID);
+}
+
+
void CDebugDump::Delete(const std::string& pDir)
{
if (!ExistFileDir(pDir))
@@ -122,6 +131,18 @@ void CDebugDump::SaveEnvironment()
}
}
+void CDebugDump::SaveTime()
+{
+ std::stringstream ss;
+ time_t t = time(NULL);
+ if (((time_t) -1) == t)
+ {
+ throw std::string("CDebugDump::SaveTime(): Cannot get local time.");
+ }
+ ss << t;
+ SaveText(FILENAME_TIME, ss.str());
+}
+
void CDebugDump::LoadTextFile(const std::string& pPath, std::string& pData)
{
std::ifstream fIn;
@@ -236,10 +257,11 @@ void CDebugDump::SaveProc(const std::string& pPID)
while (!packages.SearchFile(executable)) {}
while (!packages.GetStatus()) {}
std::string package = packages.GetSearchFileReply();
+
SaveText(FILENAME_PACKAGE, package);
path = "/proc/"+pPID+"/status";
- std::string uid = "0";
+ std::string uid = "";
int ii = 0;
LoadTextFile(path, data);