--- a/ExternalLibraryFunction.st Mon Mar 14 15:46:43 2016 +0100
+++ b/ExternalLibraryFunction.st Mon Mar 14 17:04:58 2016 +0100
@@ -957,6 +957,10 @@
__int64__ longLongVal;
# else
struct ll { long lo; long hi; } longLongVal;
+# ifndef __LO32
+# define __LO32(ll) (ll.lo)
+# define __HI32(ll) (ll.hi)
+# endif
# endif
# endif
};
@@ -1771,7 +1775,7 @@
# else
# ifdef VERBOSE
if (@global(Verbose) == true) {
- printf("return sint64: %lx%08lx\n", __returnValue.longLongVal.hi, __returnValue.longLongVal.lo);
+ printf("return sint64: %lx%08lx\n", __HI32(__returnValue.longLongVal), __LO32(__returnValue.longLongVal));
}
# endif
RETURN ( __MKINT64(&__returnValue.longLongVal) );
@@ -1788,7 +1792,7 @@
# else
# ifdef VERBOSE
if (@global(Verbose) == true) {
- printf("return sint64: %lx%08lx\n", __returnValue.longLongVal.hi, __returnValue.longLongVal.lo);
+ printf("return sint64: %lx%08lx\n", __HI32(__returnValue.longLongVal), __LO32(__returnValue.longLongVal));
}
# endif
RETURN ( __MKUINT64(&__returnValue.longLongVal) );