mirror of
https://github.com/fluencelabs/redis
synced 2025-04-25 18:42:13 +00:00
LOLWUT: ability to specify VERSION <ver> option.
This commit is contained in:
parent
9073d56eec
commit
bd60447066
18
src/lolwut.c
18
src/lolwut.c
@ -50,16 +50,22 @@ void lolwutUnstableCommand(client *c) {
|
|||||||
sdsfree(rendered);
|
sdsfree(rendered);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* LOLWUT [<version>] */
|
/* LOLWUT [VERSION <version>] [... version specific arguments ...] */
|
||||||
void lolwutCommand(client *c) {
|
void lolwutCommand(client *c) {
|
||||||
char *v = REDIS_VERSION;
|
char *v = REDIS_VERSION;
|
||||||
char verstr[64];
|
char verstr[64];
|
||||||
|
|
||||||
if (c->argc == 2) {
|
if (c->argc >= 3 && !strcasecmp(c->argv[1]->ptr,"version")) {
|
||||||
long ver;
|
long ver;
|
||||||
if (getLongFromObjectOrReply(c,c->argv[1],&ver,NULL) != C_OK) return;
|
if (getLongFromObjectOrReply(c,c->argv[2],&ver,NULL) != C_OK) return;
|
||||||
snprintf(verstr,sizeof(verstr),"%u.0.0",(unsigned int)ver);
|
snprintf(verstr,sizeof(verstr),"%u.0.0",(unsigned int)ver);
|
||||||
v = verstr;
|
v = verstr;
|
||||||
|
|
||||||
|
/* Adjust argv/argc to filter the "VERSION ..." option, since the
|
||||||
|
* specific LOLWUT version implementations don't know about it
|
||||||
|
* and expect their arguments. */
|
||||||
|
c->argv += 2;
|
||||||
|
c->argc -= 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((v[0] == '5' && v[1] == '.' && v[2] != '9') ||
|
if ((v[0] == '5' && v[1] == '.' && v[2] != '9') ||
|
||||||
@ -70,6 +76,12 @@ void lolwutCommand(client *c) {
|
|||||||
lolwut6Command(c);
|
lolwut6Command(c);
|
||||||
else
|
else
|
||||||
lolwutUnstableCommand(c);
|
lolwutUnstableCommand(c);
|
||||||
|
|
||||||
|
/* Fix back argc/argv in case of VERSION argument. */
|
||||||
|
if (v == verstr) {
|
||||||
|
c->argv -= 2;
|
||||||
|
c->argc += 2;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ========================== LOLWUT Canvase ===============================
|
/* ========================== LOLWUT Canvase ===============================
|
||||||
|
Loading…
x
Reference in New Issue
Block a user