diff options
author | sagitario <sagitario@fc51e93f-b9fe-4711-8d8d-3ae870c5f7d8> | 2010-06-14 17:56:16 (GMT) |
---|---|---|
committer | sagitario <sagitario@fc51e93f-b9fe-4711-8d8d-3ae870c5f7d8> | 2010-06-14 17:56:16 (GMT) |
commit | 33e49f0ed70a8277e0b14365c823accb9c29f120 (patch) | |
tree | 546ab88e9c008184b9ded63d9a0caa1ecf0efad6 | |
parent | 259c6e72e8ed783d224648e9d0012adb6398e5b0 (diff) | |
download | cv2pdb-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-- | CHANGES | 5 | ||||
-rw-r--r-- | VERSION | 2 | ||||
-rw-r--r-- | src/cv2pdb.cpp | 14 |
3 files changed, 18 insertions, 3 deletions
@@ -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)
@@ -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)
{
|