diff options
Diffstat (limited to 'src/expressions.cpp')
-rw-r--r-- | src/expressions.cpp | 21 |
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; +} |