diff --git a/trunk/src/common/container.c b/trunk/src/common/container.c
index df20eca6ad..ec47adf729 100644
--- a/trunk/src/common/container.c
+++ b/trunk/src/common/container.c
@@ -172,6 +172,16 @@ void *smartlist_get(const smartlist_t *sl, int idx)
tor_assert(idx < sl->num_used);
return sl->list[idx];
}
+/** Change the value of the idxth element of sl to val; return the old
+ * value of the idxth element.
+ */
+void smartlist_set(smartlist_t *sl, int idx, void *val)
+{
+ tor_assert(sl);
+ tor_assert(idx>=0);
+ tor_assert(idx < sl->num_used);
+ sl->list[idx] = val;
+}
/** Return the number of items in sl.
*/
int smartlist_len(const smartlist_t *sl)
@@ -180,49 +190,29 @@ int smartlist_len(const smartlist_t *sl)
}
#endif
-/** Change the value of the idxth element of sl to val; return the old
- * value of the idxth element.
- */
-void *smartlist_set(smartlist_t *sl, int idx, void *val)
-{
- void *old;
- tor_assert(sl);
- tor_assert(idx>=0);
- tor_assert(idx < sl->num_used);
- old = sl->list[idx];
- sl->list[idx] = val;
- return old;
-}
-
/** Remove the idxth element of sl; if idx is not the last
* element, swap the last element of sl into the idxth space.
* Return the old value of the idxth element.
*/
-void *smartlist_del(smartlist_t *sl, int idx)
+void smartlist_del(smartlist_t *sl, int idx)
{
- void *old;
tor_assert(sl);
tor_assert(idx>=0);
tor_assert(idx < sl->num_used);
- old = sl->list[idx];
sl->list[idx] = sl->list[--sl->num_used];
- return old;
}
/** Remove the idxth element of sl; if idx is not the last element,
* moving all subsequent elements back one space. Return the old value
* of the idxth element.
*/
-void *smartlist_del_keeporder(smartlist_t *sl, int idx)
+void smartlist_del_keeporder(smartlist_t *sl, int idx)
{
- void *old;
tor_assert(sl);
tor_assert(idx>=0);
tor_assert(idx < sl->num_used);
- old = sl->list[idx];
--sl->num_used;
if (idx < sl->num_used)
memmove(sl->list+idx, sl->list+idx+1, sizeof(void*)*(sl->num_used-idx));
- return old;
}
/** Insert the value val as the new idxth element of
* sl, moving all items previously at idx or later
diff --git a/trunk/src/common/container.h b/trunk/src/common/container.h
index bc000cef46..fbfe93d561 100644
--- a/trunk/src/common/container.h
+++ b/trunk/src/common/container.h
@@ -36,14 +36,15 @@ void smartlist_subtract(smartlist_t *sl1, const smartlist_t *sl2);
/* smartlist_choose() is defined in crypto.[ch] */
#ifndef FAST_SMARTLIST
void *smartlist_get(const smartlist_t *sl, int idx);
+void smartlist_set(smartlist_t *sl, int idx, void *val);
int smartlist_len(const smartlist_t *sl);
#else
#define smartlist_get(sl,idx) ((sl)->list[(idx)])
+#define smartlist_set(sl,idx,val) ((sl)->list[(idx)] = val)
#define smartlist_len(sl) ((sl)->num_used)
#endif
-void *smartlist_set(smartlist_t *sl, int idx, void *val);
-void *smartlist_del(smartlist_t *sl, int idx);
-void *smartlist_del_keeporder(smartlist_t *sl, int idx);
+void smartlist_del(smartlist_t *sl, int idx);
+void smartlist_del_keeporder(smartlist_t *sl, int idx);
void smartlist_insert(smartlist_t *sl, int idx, void *val);
#define SPLIT_SKIP_SPACE 0x01
diff --git a/trunk/src/or/test.c b/trunk/src/or/test.c
index 5bf99917a7..056ec93004 100644
--- a/trunk/src/or/test.c
+++ b/trunk/src/or/test.c
@@ -545,7 +545,7 @@ test_util(void) {
smartlist_add(sl, (void*)2);
smartlist_add(sl, (void*)3);
smartlist_add(sl, (void*)4);
- test_eq((void*)2, smartlist_del_keeporder(sl, 1));
+ smartlist_del_keeporder(sl, 1);
smartlist_insert(sl, 1, (void*)22);
smartlist_insert(sl, 0, (void*)0);
smartlist_insert(sl, 5, (void*)555);