aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--handlers.go18
1 files changed, 9 insertions, 9 deletions
diff --git a/handlers.go b/handlers.go
index 3bb08be..8a667de 100644
--- a/handlers.go
+++ b/handlers.go
@@ -82,21 +82,21 @@ func handleDel(conn net.Conn, args []string) {
db.mu.Lock()
defer db.mu.Unlock()
- if len(args) != 2 {
+ if len(args) < 2 {
err := errors.New("wrong number of arguments for 'DEL'")
conn.Write(serializeRESP(err))
return
}
- key := args[1]
-
- _, exists := db.data[key]
- if exists {
- delete(db.data, key)
- conn.Write(serializeRESP(1))
- } else {
- conn.Write(serializeRESP(0))
+ deletedKeys := 0
+ for i := 1; i<len(args);i++{
+ _, exists := db.data[args[i]]
+ if exists {
+ delete(db.data, args[i])
+ deletedKeys += 1
+ }
}
+ conn.Write(serializeRESP(deletedKeys))
}
func handleIncr(conn net.Conn, args []string) {