[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kinosearch-commits
Subject:    [Kinosearch-commits] r2498 - trunk/c_src/KinoSearch/Util
From:       marvin () rectangular ! com (marvin () rectangular ! com)
Date:       2007-08-19 19:40:30
Message-ID: mailman.8.1187577630.555.kinosearch-commits () rectangular ! com
[Download RAW message or body]

Author: root
Date: 2007-08-19 19:40:29 -0700 (Sun, 19 Aug 2007)
New Revision: 2498

Modified:
   trunk/c_src/KinoSearch/Util/VArray.c
   trunk/c_src/KinoSearch/Util/VArray.h
Log:
Add VA_Delete to VArray.


Modified: trunk/c_src/KinoSearch/Util/VArray.c
===================================================================
--- trunk/c_src/KinoSearch/Util/VArray.c	2007-08-20 01:10:51 UTC (rev 2497)
+++ trunk/c_src/KinoSearch/Util/VArray.c	2007-08-20 02:40:29 UTC (rev 2498)
@@ -156,6 +156,17 @@
     }
 }
 
+Obj*
+VA_delete(VArray *self, u32_t num)
+{
+    Obj *elem = NULL;
+    if (num < self->size) {
+        elem = self->elems[num];
+        self->elems[num] = NULL;
+    }
+    return elem;
+}
+
 /* Copyright 2006-2007 Marvin Humphrey
  *
  * This program is free software; you can redistribute it and/or modify

Modified: trunk/c_src/KinoSearch/Util/VArray.h
===================================================================
--- trunk/c_src/KinoSearch/Util/VArray.h	2007-08-20 01:10:51 UTC (rev 2497)
+++ trunk/c_src/KinoSearch/Util/VArray.h	2007-08-20 02:40:29 UTC (rev 2498)
@@ -64,6 +64,16 @@
 kino_VA_store(kino_VArray *self, chy_u32_t num, kino_Obj *elem);
 KINO_METHOD("Kino_VA_Store");
 
+/* Replace an element in the VArray with NULL and return it.  The caller takes
+ * responsibility for NULL checking and object destruction for whatever is
+ * returned.
+ *
+ * TODO: Needs a test.
+ */
+kino_Obj*
+kino_VA_delete(kino_VArray *self, chy_u32_t num);
+KINO_METHOD("Kino_VA_Delete");
+
 kino_VArray*
 kino_VA_clone(kino_VArray *self);
 KINO_METHOD("Kino_VA_Clone");


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic