aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/expressions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/expressions.cpp')
-rw-r--r--src/expressions.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/expressions.cpp b/src/expressions.cpp
index 7975d10..8d15d73 100644
--- a/src/expressions.cpp
+++ b/src/expressions.cpp
@@ -220,3 +220,24 @@ Expressions::discard_args(void)
for (int i = args(); i; i--)
pop_num_calc();
}
+
+const gchar *
+Expressions::format(tecoInt number)
+{
+ /* maximum length if radix = 2 */
+ static gchar buf[1+sizeof(number)*8+1];
+ gchar *p = buf + sizeof(buf);
+
+ tecoInt v = ABS(number);
+
+ *--p = '\0';
+ do {
+ *--p = '0' + (v % radix);
+ if (*p > '9')
+ *p += 'A' - '9';
+ } while ((v /= radix));
+ if (number < 0)
+ *--p = '-';
+
+ return p;
+}