diff options
| author | Jiri Moskovcak <jmoskovc@redhat.com> | 2009-02-11 10:44:40 +0100 |
|---|---|---|
| committer | Jiri Moskovcak <jmoskovc@redhat.com> | 2009-02-11 10:44:40 +0100 |
| commit | 356da89a4e2e6e50ceade12f286d104fe1c17eae (patch) | |
| tree | 1fafbfebd44b937eb63906453a285ad5a4b1558a /lib/Utils | |
| parent | 3192f468fa5e7f10c664cca671246f962d1d36d1 (diff) | |
| parent | 08ec10a5f6a2d6159e926cb075ad3eb4964ced50 (diff) | |
| download | abrt-356da89a4e2e6e50ceade12f286d104fe1c17eae.tar.gz abrt-356da89a4e2e6e50ceade12f286d104fe1c17eae.tar.xz abrt-356da89a4e2e6e50ceade12f286d104fe1c17eae.zip | |
Merge branch 'master' of git://git.fedorahosted.org/git/crash-catcher
Diffstat (limited to 'lib/Utils')
| -rw-r--r-- | lib/Utils/DebugDump.cpp | 24 | ||||
| -rw-r--r-- | lib/Utils/DebugDump.h | 8 |
2 files changed, 27 insertions, 5 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); diff --git a/lib/Utils/DebugDump.h b/lib/Utils/DebugDump.h index c8eef15..11574e9 100644 --- a/lib/Utils/DebugDump.h +++ b/lib/Utils/DebugDump.h @@ -43,7 +43,8 @@ class CDebugDump std::string m_sDebugDumpDir; void SaveEnvironment(); - + void SaveTime(); + void SaveProc(const std::string& pPID); void LoadTextFile(const std::string& pName, std::string& pData); void LoadBinaryFile(const std::string& pName, char** pData, unsigned int* pSize); @@ -57,16 +58,15 @@ class CDebugDump CDebugDump(); void Open(const std::string& pDir); void Create(const std::string& pDir); + void Create(const std::string& pDir, const std::string& pPID); void Delete(const std::string& pDir); - bool Exist(const std::string& pPath); + bool Exist(const std::string& pFileName); void LoadText(const std::string& pName, std::string& pData); void LoadBinary(const std::string& pName, char** pData, unsigned int* pSize); void SaveText(const std::string& pName, const std::string& pData); void SaveBinary(const std::string& pName, const char* pData, const unsigned int pSize); - - void SaveProc(const std::string& pPID); }; #endif /*DEBUGDUMP_H_*/ |
