diff --git a/pykd/variant.h b/pykd/variant.h index d1f66e1..92bb127 100644 --- a/pykd/variant.h +++ b/pykd/variant.h @@ -1,5 +1,7 @@ #pragma once +#include <comutil.h> + #include "kdlib/variant.h" #include "kdlib/exceptions.h" @@ -221,9 +223,9 @@ public: return v.asStr(); } - static std::wstring hex(kdlib::NumBehavior& var) { + static std::string hex(kdlib::NumBehavior& var) { kdlib::NumVariant v = var; - return v.asHex(); + return std::string("0x") + std::string(_bstr_t(v.asHex().c_str())); } static bool isInteger(kdlib::NumBehavior& var) { diff --git a/test/scripts/intbase.py b/test/scripts/intbase.py index 77386c8..7cb6e69 100644 --- a/test/scripts/intbase.py +++ b/test/scripts/intbase.py @@ -169,5 +169,9 @@ class IntBaseTest( unittest.TestCase ): def testConvert( self ): self.assertEqual( "100", "%d" % numVariant(100) ) self.assertEqual( "64", "%x" % numVariant(100) ) - - \ No newline at end of file + + def testStr(self): + self.assertEqual( "100", str(numVariant(100)) ) + + def testHex(self): + self.assertEqual( "0x64", hex(numVariant(100)) )