mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 17:10:50 +00:00
check eptr inline
This commit is contained in:
parent
bd79a6bda0
commit
682c73e87e
14
redis.c
14
redis.c
@ -3106,7 +3106,7 @@ static size_t stringObjectLen(robj *o) {
|
|||||||
|
|
||||||
static int getDoubleFromObject(robj *o, double *target) {
|
static int getDoubleFromObject(robj *o, double *target) {
|
||||||
double value;
|
double value;
|
||||||
char *eptr = NULL;
|
char *eptr;
|
||||||
|
|
||||||
if (o == NULL) {
|
if (o == NULL) {
|
||||||
value = 0;
|
value = 0;
|
||||||
@ -3114,6 +3114,7 @@ static int getDoubleFromObject(robj *o, double *target) {
|
|||||||
redisAssert(o->type == REDIS_STRING);
|
redisAssert(o->type == REDIS_STRING);
|
||||||
if (o->encoding == REDIS_ENCODING_RAW) {
|
if (o->encoding == REDIS_ENCODING_RAW) {
|
||||||
value = strtod(o->ptr, &eptr);
|
value = strtod(o->ptr, &eptr);
|
||||||
|
if (eptr[0] != '\0') return REDIS_ERR;
|
||||||
} else if (o->encoding == REDIS_ENCODING_INT) {
|
} else if (o->encoding == REDIS_ENCODING_INT) {
|
||||||
value = (long)o->ptr;
|
value = (long)o->ptr;
|
||||||
} else {
|
} else {
|
||||||
@ -3121,10 +3122,6 @@ static int getDoubleFromObject(robj *o, double *target) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (eptr != NULL && eptr[0] != '\0') {
|
|
||||||
return REDIS_ERR;
|
|
||||||
}
|
|
||||||
|
|
||||||
*target = value;
|
*target = value;
|
||||||
return REDIS_OK;
|
return REDIS_OK;
|
||||||
}
|
}
|
||||||
@ -3146,7 +3143,7 @@ static int getDoubleFromObjectOrReply(redisClient *c, robj *o, double *target, c
|
|||||||
|
|
||||||
static int getLongLongFromObject(robj *o, long long *target) {
|
static int getLongLongFromObject(robj *o, long long *target) {
|
||||||
long long value;
|
long long value;
|
||||||
char *eptr = NULL;
|
char *eptr;
|
||||||
|
|
||||||
if (o == NULL) {
|
if (o == NULL) {
|
||||||
value = 0;
|
value = 0;
|
||||||
@ -3154,6 +3151,7 @@ static int getLongLongFromObject(robj *o, long long *target) {
|
|||||||
redisAssert(o->type == REDIS_STRING);
|
redisAssert(o->type == REDIS_STRING);
|
||||||
if (o->encoding == REDIS_ENCODING_RAW) {
|
if (o->encoding == REDIS_ENCODING_RAW) {
|
||||||
value = strtoll(o->ptr, &eptr, 10);
|
value = strtoll(o->ptr, &eptr, 10);
|
||||||
|
if (eptr[0] != '\0') return REDIS_ERR;
|
||||||
} else if (o->encoding == REDIS_ENCODING_INT) {
|
} else if (o->encoding == REDIS_ENCODING_INT) {
|
||||||
value = (long)o->ptr;
|
value = (long)o->ptr;
|
||||||
} else {
|
} else {
|
||||||
@ -3161,10 +3159,6 @@ static int getLongLongFromObject(robj *o, long long *target) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (eptr != NULL && eptr[0] != '\0') {
|
|
||||||
return REDIS_ERR;
|
|
||||||
}
|
|
||||||
|
|
||||||
*target = value;
|
*target = value;
|
||||||
return REDIS_OK;
|
return REDIS_OK;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user