summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsagitario <sagitario@fc51e93f-b9fe-4711-8d8d-3ae870c5f7d8>2010-06-14 17:56:16 (GMT)
committersagitario <sagitario@fc51e93f-b9fe-4711-8d8d-3ae870c5f7d8>2010-06-14 17:56:16 (GMT)
commit33e49f0ed70a8277e0b14365c823accb9c29f120 (patch)
tree546ab88e9c008184b9ded63d9a0caa1ecf0efad6
parent259c6e72e8ed783d224648e9d0012adb6398e5b0 (diff)
downloadcv2pdb-33e49f0ed70a8277e0b14365c823accb9c29f120.zip
cv2pdb-33e49f0ed70a8277e0b14365c823accb9c29f120.tar.gz
cv2pdb-33e49f0ed70a8277e0b14365c823accb9c29f120.tar.bz2
when a dynamic array type is detected for a DMC compiled executable (command option -C is used), it is converted to int64 (fixing DMC bug)
-rw-r--r--CHANGES5
-rw-r--r--VERSION2
-rw-r--r--src/cv2pdb.cpp14
3 files changed, 18 insertions, 3 deletions
diff --git a/CHANGES b/CHANGES
index 528bc89..c396bf2 100644
--- a/CHANGES
+++ b/CHANGES
@@ -96,3 +96,8 @@ Version history
* adapted to mspdb100.dll which comes with VS2010
* tweaked autoexp.dat modifications to be more stable with uninitialized data
* autoexp.snippet now split into two files: autoexp.expand and autoexp.visualizer
+
+not released Version 0.14
+
+ * when a dynamic array type is detected for a DMC compiled executable (command
+ option -C is used), it is converted to int64 (fixing DMC bug)
diff --git a/VERSION b/VERSION
index dc33958..0f273a4 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-VERSION = 0.13
+VERSION = 0.14
diff --git a/src/cv2pdb.cpp b/src/cv2pdb.cpp
index a934d2f..937a397 100644
--- a/src/cv2pdb.cpp
+++ b/src/cv2pdb.cpp
@@ -1776,8 +1776,18 @@ bool CV2PDB::initGlobalTypes()
if (oem->common.oemid == 0x42 && oem->common.id == 1)
{
- const char* name = appendDynamicArray(oem->d_dyn_array.index_type, oem->d_dyn_array.elem_type);
- len = addClass(dtype, 0, 0, kIncomplete, 0, 0, 0, name);
+ if(Dversion == 0) // in dmc, this is used for (u)int64
+ {
+ dtype->modifier_v2.id = LF_MODIFIER_V2;
+ dtype->modifier_v2.attribute = 0;
+ dtype->modifier_v2.type = 0x13;
+ len = sizeof(dtype->modifier_v2);
+ }
+ else
+ {
+ const char* name = appendDynamicArray(oem->d_dyn_array.index_type, oem->d_dyn_array.elem_type);
+ len = addClass(dtype, 0, 0, kIncomplete, 0, 0, 0, name);
+ }
}
else if (oem->common.oemid == 0x42 && oem->common.id == 3)
{