Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Codeblocks wx31_64 scripting error

(1/1)

BlueHazzard:
If i try to create a codeblocks plugin with my codeblocks wx31_64 on windows i get multiple asserts because of wrong format specifier...

this patch should fix it. Can someone test this on linux?


--- Code: ---Index: src/sdk/scripting/bindings/sc_wxtypes.cpp
===================================================================
--- src/sdk/scripting/bindings/sc_wxtypes.cpp (revision 11914)
+++ src/sdk/scripting/bindings/sc_wxtypes.cpp (working copy)
@@ -136,7 +136,7 @@
         if (sa.GetType(2) == OT_INTEGER)
         {
 #ifdef _SQ64
-            result.Printf(_T("%s%ld"), str1.c_str(), sa.GetInt(2));
+            result.Printf(_T("%s%I64d"), str1.c_str(), sa.GetInt(2));
 #else
             result.Printf(_T("%s%d"), str1.c_str(), sa.GetInt(2));
 #endif

--- End code ---

oBFusCATed:
If you want to print a 64bit int on more than one platform, the best way I've found is to cast it to long long and then use %lld.

MortenMacFly:

--- Quote from: oBFusCATed on December 03, 2019, 08:13:05 pm ---If you want to print a 64bit int on more than one platform, the best way I've found is to cast it to long long and then use %lld.

--- End quote ---
I second that. I think %I64d is not reliable enough.

Navigation

[0] Message Index

Go to full version