+
+ /* Alter the replication of the command accordingly to the number of
+ * list elements delivered to clients waiting into a blocking operation.
+ * We do that only if there were waiting clients, and only if still some
+ * element was pushed into the list (othewise dirty is 0 and nothign will
+ * be propagated). */
+ if (waiting && pushed) {
+ /* CMD KEY a b C D E */
+ for (j = 2; j < pushed+2; j++)
+ rewriteClientCommandArgument(c,j,c->argv[j+waiting]);
+ c->argc -= waiting;
+ }