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.
This commit is contained in:
Thierry FOURNIER 2015-06-06 19:14:59 +02:00 committed by Willy Tarreau
parent 69717b4b9b
commit 1480bd8dd2
2 changed files with 17 additions and 0 deletions

View File

@ -105,6 +105,7 @@ extern int strlcpy2(char *dst, const char *src, int size);
*/
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)
{

View File

@ -406,6 +406,22 @@ char *ultoa_r(unsigned long n, char *buffer, int size)
return pos + 1;
}
/*
* 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