diff --git a/include/common/standard.h b/include/common/standard.h
index 759d0a1..df2444d 100644
--- a/include/common/standard.h
+++ b/include/common/standard.h
@@ -105,6 +105,7 @@
  */
 extern char itoa_str[][171];
 extern char *ultoa_r(unsigned long n, char *buffer, int size);
+extern char *sltoa_r(long n, char *buffer, int size);
 extern const char *ulltoh_r(unsigned long long n, char *buffer, int size);
 static inline const char *ultoa(unsigned long n)
 {
diff --git a/src/standard.c b/src/standard.c
index 4e458c2..fb24f7d 100644
--- a/src/standard.c
+++ b/src/standard.c
@@ -408,6 +408,22 @@
 
 /*
  * This function simply returns a locally allocated string containing
+ * the ascii representation for signed number 'n' in decimal.
+ */
+char *sltoa_r(long n, char *buffer, int size)
+{
+	char *pos;
+
+	if (n >= 0)
+		return ultoa_r(n, buffer, size);
+
+	pos = ultoa_r(-n, buffer + 1, size - 1) - 1;
+	*pos = '-';
+	return pos;
+}
+
+/*
+ * This function simply returns a locally allocated string containing
  * the ascii representation for number 'n' in decimal, formatted for
  * HTML output with tags to create visual grouping by 3 digits. The
  * output needs to support at least 171 characters.
