- o = createStringObjectFromLongLong(value);
- dbReplace(c->db,c->argv[1],o);
- touchWatchedKey(c->db,c->argv[1]);
+ if ((incr < 0 && value > oldvalue) || (incr > 0 && value < oldvalue)) {
+ addReplyError(c,"increment or decrement would overflow");
+ return;
+ }
+ new = createStringObjectFromLongLong(value);
+ if (o)
+ dbOverwrite(c->db,c->argv[1],new);
+ else
+ dbAdd(c->db,c->argv[1],new);
+ signalModifiedKey(c->db,c->argv[1]);