diff --git a/src/t_stream.c b/src/t_stream.c index d9db97c3c..4a425fd78 100644 --- a/src/t_stream.c +++ b/src/t_stream.c @@ -3229,17 +3229,17 @@ cleanup: void xtrimCommand(client *c) { robj *o; + /* Argument parsing. */ + streamAddTrimArgs parsed_args; + if (streamParseAddOrTrimArgsOrReply(c, &parsed_args, 1) < 0) + return; /* streamParseAddOrTrimArgsOrReply already replied. */ + /* If the key does not exist, we are ok returning zero, that is, the * number of elements removed from the stream. */ if ((o = lookupKeyWriteOrReply(c,c->argv[1],shared.czero)) == NULL || checkType(c,o,OBJ_STREAM)) return; stream *s = o->ptr; - /* Argument parsing. */ - streamAddTrimArgs parsed_args; - if (streamParseAddOrTrimArgsOrReply(c, &parsed_args, 1) < 0) - return; /* streamParseAddOrTrimArgsOrReply already replied. */ - /* Perform the trimming. */ int64_t deleted = streamTrim(s, &parsed_args); if (deleted) {