arm64: update core. this added a lot more details to cs_arm64_op struct
diff --git a/SStream.c b/SStream.c
index 462aff2..fd72308 100644
--- a/SStream.c
+++ b/SStream.c
@@ -2,12 +2,14 @@
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 */
#include <stdint.h>
+#include <inttypes.h>
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include "SStream.h"
#include "cs_priv.h"
+#include "utils.h"
#ifdef _MSC_VER
#pragma warning(disable: 4996) // disable MSVC's warning on strcpy()
@@ -40,6 +42,84 @@
#endif
}
+// print number with prefix #
+void printInt64Bang(SStream *O, int64_t val)
+{
+ if (val >= 0) {
+ if (val > HEX_THRESHOLD)
+ SStream_concat(O, "#0x%"PRIx64, val);
+ else
+ SStream_concat(O, "#%"PRIu64, val);
+ } else {
+ if (val <- HEX_THRESHOLD)
+ SStream_concat(O, "#-0x%"PRIx64, -val);
+ else
+ SStream_concat(O, "#-%"PRIu64, -val);
+ }
+}
+
+// print number
+void printInt64(SStream *O, int64_t val)
+{
+ if (val >= 0) {
+ if (val > HEX_THRESHOLD)
+ SStream_concat(O, "0x%"PRIx64, val);
+ else
+ SStream_concat(O, "%"PRIu64, val);
+ } else {
+ if (val <- HEX_THRESHOLD)
+ SStream_concat(O, "-0x%"PRIx64, -val);
+ else
+ SStream_concat(O, "-%"PRIu64, -val);
+ }
+}
+
+void printInt32Bang(SStream *O, int32_t val)
+{
+ if (val >= 0) {
+ if (val > HEX_THRESHOLD)
+ SStream_concat(O, "#0x%x", val);
+ else
+ SStream_concat(O, "#%u", val);
+ } else {
+ if (val <- HEX_THRESHOLD)
+ SStream_concat(O, "#-0x%x", -val);
+ else
+ SStream_concat(O, "#-%u", -val);
+ }
+}
+
+void printInt32(SStream *O, int32_t val)
+{
+ if (val >= 0) {
+ if (val > HEX_THRESHOLD)
+ SStream_concat(O, "0x%x", val);
+ else
+ SStream_concat(O, "%u", val);
+ } else {
+ if (val <- HEX_THRESHOLD)
+ SStream_concat(O, "-0x%x", -val);
+ else
+ SStream_concat(O, "-%u", -val);
+ }
+}
+
+void printUInt32Bang(SStream *O, uint32_t val)
+{
+ if (val > HEX_THRESHOLD)
+ SStream_concat(O, "#0x%x", val);
+ else
+ SStream_concat(O, "#%u", val);
+}
+
+void printUInt32(SStream *O, uint32_t val)
+{
+ if (val > HEX_THRESHOLD)
+ SStream_concat(O, "0x%x", val);
+ else
+ SStream_concat(O, "%u", val);
+}
+
/*
int main()
{