Repository: redis/redis

Issue:
[BUG] client flags type with call() function, version >= 6.0
**Describe the bug**

we define CLIENT_CLOSE_AFTER_COMMAND (1ULL<<40)
but in call() function,we use int :

`void call(client *c, int flags) {
    long long dirty;
    ustime_t start, duration;
    int client_old_flags = c->flags;`

maybe we need change it as uint64_t



Discussion:
Thanks for reporting.
luckily this doesn't cause any actual bug since this variable is only used to test these flags `CLIENT_FORCE_AOF|CLIENT_FORCE_REPL|CLIENT_PREVENT_PROP` which are all below 1<<31.

do you wanna make a PR to fix it?

Patch:
diff --git a/src/server.c b/src/server.c
index 57410bda5f9..bf586042ace 100644
--- a/src/server.c
+++ b/src/server.c
@@ -4897,7 +4897,7 @@ void slowlogPushCurrentCommand(client *c, struct redisCommand *cmd, ustime_t dur
 void call(client *c, int flags) {
     long long dirty;
     monotime call_timer;
-    int client_old_flags = c->flags;
+    uint64_t client_old_flags = c->flags;
     struct redisCommand *real_cmd = c->cmd;
     static long long prev_err_count;