From d44659004125de932378e0cedb2abfc8cd5e64e1 Mon Sep 17 00:00:00 2001
From: antirez <antirez@gmail.com>
Date: Thu, 17 Sep 2009 17:23:59 +0200
Subject: [PATCH] maxmemory didn't worked in 64 systems for values > 4GB since
 it used to be an unsigned int. Fixed

---
 redis.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/redis.c b/redis.c
index 5034a802..1752cc1a 100644
--- a/redis.c
+++ b/redis.c
@@ -269,7 +269,7 @@ struct redisServer {
     redisClient *master;    /* client that is master for this slave */
     int replstate;
     unsigned int maxclients;
-    unsigned int maxmemory;
+    unsigned long maxmemory;
     /* Sort parameters - qsort_r() is only available under BSD so we
      * have to take this state global, in order to pass it to sortCompare() */
     int sort_desc;
@@ -1116,7 +1116,7 @@ static void loadServerConfig(char *filename) {
         } else if (!strcasecmp(argv[0],"maxclients") && argc == 2) {
             server.maxclients = atoi(argv[1]);
         } else if (!strcasecmp(argv[0],"maxmemory") && argc == 2) {
-            server.maxmemory = atoi(argv[1]);
+            server.maxmemory = strtoll(argv[1], NULL, 10);
         } else if (!strcasecmp(argv[0],"slaveof") && argc == 3) {
             server.masterhost = sdsnew(argv[1]);
             server.masterport = atoi(argv[2]);