Repository: redis/redis

Issue:
[BUG] cluster shards returns slots as strings, not integers
**Describe the bug**

When I run cluster shards on a build from the 7.0.0 tag, I get strings from slot values, not integers.

documentation is pretty clear that they should be integers https://redis.io/commands/cluster-shards/ (that also seems like it should be the right thing in general)

**To reproduce**

```
127.0.0.1:5001> cluster shards
1) 1) "slots"
   2) 1) "0"
      2) "16383"
   3) "nodes"
   4) 1)  1) "id"
          2) "4efebd0607d716c3f95e25598400a6f1fbd06d5b"
          3) "port"
          4) (integer) 5001
          5) "ip"
          6) ""
          7) "endpoint"
          8) ""
          9) "hostname"
         10) ""
         11) "role"
         12) "master"
         13) "replication-offset"
         14) (integer) 0
         15) "health"
         16) "online"
```

**Expected behavior**

0/16383 in slots array should be integers.

**Additional information**

build info Redis 7.0.0 (d375595d/0) 64 bit



Discussion:

Patch:
diff --git a/src/cluster.c b/src/cluster.c
index adad07e19d6..5f3c75e097c 100644
--- a/src/cluster.c
+++ b/src/cluster.c
@@ -5071,7 +5071,7 @@ void addShardReplyForClusterShards(client *c, clusterNode *node, uint16_t *slot_
         serverAssert((slot_pairs_count % 2) == 0);
         addReplyArrayLen(c, slot_pairs_count);
         for (int i = 0; i < slot_pairs_count; i++)
-            addReplyBulkLongLong(c, (unsigned long)slot_info_pairs[i]);
+            addReplyLongLong(c, (unsigned long)slot_info_pairs[i]);
     } else {
         /* If no slot info pair is provided, the node owns no slots */
         addReplyArrayLen(c, 0);