// --- ---------- ------------------------------------------------------------\r
// JPM 12/03/2016 Created this file\r
// JPM 12/03/2016 DWARF format support\r
-// JPM 09/12/2018 Added LEB128 decoding features\r
-// JPM 09/14/2018 Improve the DWARF parsing information\r
+// JPM Sept./2018 Added LEB128 decoding features, and improve the DWARF parsing information\r
//\r
\r
// To Do\r
FILE *SrcFile;\r
size_t i, j, k;\r
char *return_string;\r
- char *Ptr;\r
+ char *Ptr, *Ptr1;\r
\r
// Initialisation for the Compilation Units table\r
NbCU = 0;\r
Ptr++;\r
}\r
\r
+ // Directory path clean-up\r
+#if defined(_WIN32)\r
+ while ((Ptr1 = Ptr = strstr(PtrCU[NbCU].PtrFullFilename, "\\..\\")))\r
+#else\r
+ while ((Ptr1 = Ptr = strstr(PtrCU[NbCU].PtrFullFilename, "/../")))\r
+#endif\r
+ {\r
+#if defined(_WIN32)\r
+ while (*--Ptr1 != '\\');\r
+#else\r
+ while (*--Ptr1 != '/');\r
+#endif\r
+ strcpy((Ptr1 + 1), (Ptr + 4));\r
+ }\r
+\r
// Read the file as text\r
#ifndef __CYGWIN__\r
if (!fopen_s(&SrcFile, PtrCU[NbCU].PtrFullFilename, "rt"))\r
return NULL;\r
}\r
\r
+\r
+// Get number of source code filenames\r
+size_t DWARFManager_GetNbFullSourceFilename(void)\r
+{\r
+ return NbCU;\r
+}\r
+\r
+\r
+// Get source code filename based on index\r
+char *DWARFManager_GetNumFullSourceFilename(size_t Index)\r
+{\r
+ return (PtrCU[Index].PtrFullFilename);\r
+}\r
+\r