mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 17:10:50 +00:00
Merge pull request #2119 from sunheehnus/unstable
sds.c/sdscatvprintf: va_end needs to be fixed
This commit is contained in:
commit
c58db75a69
12
src/sds.c
12
src/sds.c
@ -295,7 +295,7 @@ sds sdscpy(sds s, const char *t) {
|
|||||||
* conversion. 's' must point to a string with room for at least
|
* conversion. 's' must point to a string with room for at least
|
||||||
* SDS_LLSTR_SIZE bytes.
|
* SDS_LLSTR_SIZE bytes.
|
||||||
*
|
*
|
||||||
* The function returns the lenght of the null-terminated string
|
* The function returns the length of the null-terminated string
|
||||||
* representation stored at 's'. */
|
* representation stored at 's'. */
|
||||||
#define SDS_LLSTR_SIZE 21
|
#define SDS_LLSTR_SIZE 21
|
||||||
int sdsll2str(char *s, long long value) {
|
int sdsll2str(char *s, long long value) {
|
||||||
@ -369,7 +369,7 @@ sds sdsfromlonglong(long long value) {
|
|||||||
return sdsnewlen(buf,len);
|
return sdsnewlen(buf,len);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Like sdscatpritf() but gets va_list instead of being variadic. */
|
/* Like sdscatprintf() but gets va_list instead of being variadic. */
|
||||||
sds sdscatvprintf(sds s, const char *fmt, va_list ap) {
|
sds sdscatvprintf(sds s, const char *fmt, va_list ap) {
|
||||||
va_list cpy;
|
va_list cpy;
|
||||||
char staticbuf[1024], *buf = staticbuf, *t;
|
char staticbuf[1024], *buf = staticbuf, *t;
|
||||||
@ -390,7 +390,7 @@ sds sdscatvprintf(sds s, const char *fmt, va_list ap) {
|
|||||||
buf[buflen-2] = '\0';
|
buf[buflen-2] = '\0';
|
||||||
va_copy(cpy,ap);
|
va_copy(cpy,ap);
|
||||||
vsnprintf(buf, buflen, fmt, cpy);
|
vsnprintf(buf, buflen, fmt, cpy);
|
||||||
va_end(ap);
|
va_end(cpy);
|
||||||
if (buf[buflen-2] != '\0') {
|
if (buf[buflen-2] != '\0') {
|
||||||
if (buf != staticbuf) zfree(buf);
|
if (buf != staticbuf) zfree(buf);
|
||||||
buflen *= 2;
|
buflen *= 2;
|
||||||
@ -415,7 +415,7 @@ sds sdscatvprintf(sds s, const char *fmt, va_list ap) {
|
|||||||
*
|
*
|
||||||
* Example:
|
* Example:
|
||||||
*
|
*
|
||||||
* s = sdsempty("Sum is: ");
|
* s = sdsnew("Sum is: ");
|
||||||
* s = sdscatprintf(s,"%d+%d = %d",a,b,a+b).
|
* s = sdscatprintf(s,"%d+%d = %d",a,b,a+b).
|
||||||
*
|
*
|
||||||
* Often you need to create a string from scratch with the printf-alike
|
* Often you need to create a string from scratch with the printf-alike
|
||||||
@ -643,8 +643,8 @@ void sdstoupper(sds s) {
|
|||||||
*
|
*
|
||||||
* Return value:
|
* Return value:
|
||||||
*
|
*
|
||||||
* 1 if s1 > s2.
|
* positive if s1 > s2.
|
||||||
* -1 if s1 < s2.
|
* negative if s1 < s2.
|
||||||
* 0 if s1 and s2 are exactly the same binary string.
|
* 0 if s1 and s2 are exactly the same binary string.
|
||||||
*
|
*
|
||||||
* If two strings share exactly the same prefix, but one of the two has
|
* If two strings share exactly the same prefix, but one of the two has
|
||||||
|
Loading…
x
Reference in New Issue
Block a user