]> git.saurik.com Git - redis.git/commitdiff
move listTypeInsert to be grouped with other wrapper functions
authorPieter Noordhuis <pcnoordhuis@gmail.com>
Fri, 11 Jun 2010 08:52:09 +0000 (10:52 +0200)
committerPieter Noordhuis <pcnoordhuis@gmail.com>
Fri, 11 Jun 2010 08:52:09 +0000 (10:52 +0200)
redis.c

diff --git a/redis.c b/redis.c
index 5d44e8275c298d91736a4cf404b8674fefd93bf2..6f082972908afa71dc07d18922fde1a6efae0af4 100644 (file)
--- a/redis.c
+++ b/redis.c
@@ -5088,6 +5088,31 @@ static robj *listTypeGet(listTypeEntry *entry) {
     return value;
 }
 
+static void listTypeInsert(robj *subject, listTypeEntry *old_entry, robj *new_obj, int where) {
+    listTypeTryConversion(subject,new_obj);
+    if (subject->encoding == REDIS_ENCODING_ZIPLIST) {
+        if (where == REDIS_HEAD) {
+            unsigned char *next = ziplistNext(subject->ptr,old_entry->zi);
+            if (next == NULL) {
+                listTypePush(subject,new_obj,REDIS_TAIL);
+            } else {
+                subject->ptr = ziplistInsert(subject->ptr,next,new_obj->ptr,sdslen(new_obj->ptr));
+            }
+        } else {
+            subject->ptr = ziplistInsert(subject->ptr,old_entry->zi,new_obj->ptr,sdslen(new_obj->ptr));
+        }
+    } else if (subject->encoding == REDIS_ENCODING_LIST) {
+        if (where == REDIS_HEAD) {
+            listInsertNode(subject->ptr,old_entry->ln,new_obj,1);
+        } else {
+            listInsertNode(subject->ptr,old_entry->ln,new_obj,0);
+        }
+        incrRefCount(new_obj);
+    } else {
+        redisPanic("Unknown list encoding");
+    }
+}
+
 /* Compare the given object with the entry at the current position. */
 static int listTypeEqual(listTypeEntry *entry, robj *o) {
     listTypeIterator *li = entry->li;
@@ -5180,31 +5205,6 @@ static void rpushCommand(redisClient *c) {
     pushGenericCommand(c,REDIS_TAIL);
 }
 
-static void listTypeInsert(robj *subject, listTypeEntry *old_entry, robj *new_obj, int where) {
-    listTypeTryConversion(subject,new_obj);
-    if (subject->encoding == REDIS_ENCODING_ZIPLIST) {
-        if (where == REDIS_HEAD) {
-            unsigned char *next = ziplistNext(subject->ptr,old_entry->zi);
-            if (next == NULL) {
-                listTypePush(subject,new_obj,REDIS_TAIL);
-            } else {
-                subject->ptr = ziplistInsert(subject->ptr,next,new_obj->ptr,sdslen(new_obj->ptr));
-            }
-        } else {
-            subject->ptr = ziplistInsert(subject->ptr,old_entry->zi,new_obj->ptr,sdslen(new_obj->ptr));
-        }
-    } else if (subject->encoding == REDIS_ENCODING_LIST) {
-        if (where == REDIS_HEAD) {
-            listInsertNode(subject->ptr,old_entry->ln,new_obj,1);
-        } else {
-            listInsertNode(subject->ptr,old_entry->ln,new_obj,0);
-        }
-        incrRefCount(new_obj);
-    } else {
-        redisPanic("Unknown list encoding");
-    }
-}
-
 static void pushxGenericCommand(redisClient *c, int where, robj *old_obj, robj *new_obj) {
     robj *subject;
     listTypeIterator *iter;