MINOR: standard: add function that converts signed int to a string

This function is the same as "ultoa_r", but it takes a signed value
as input.
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.