summaryrefslogtreecommitdiffstats
path: root/libopkg/str_list.h
diff options
context:
space:
mode:
authorticktock35 <ticktock35@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>2008-12-18 12:47:41 (EST)
committer ticktock35 <ticktock35@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>2008-12-18 12:47:41 (EST)
commit5f550c85c4d2308a15f49f4d2d975b0614867412 (patch)
treed9773c75c5668858ef7bea507b465ca352624391 /libopkg/str_list.h
parent2cec79cb14f343d822bb8098b022fe4344261c7f (diff)
using list_head to handle the list
git-svn-id: http://opkg.googlecode.com/svn/trunk@185 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Diffstat (limited to 'libopkg/str_list.h')
-rw-r--r--libopkg/str_list.h24
1 files changed, 10 insertions, 14 deletions
diff --git a/libopkg/str_list.h b/libopkg/str_list.h
index a05d60d..b187a06 100644
--- a/libopkg/str_list.h
+++ b/libopkg/str_list.h
@@ -20,20 +20,9 @@
#include "void_list.h"
-typedef struct str_list_elt str_list_elt_t;
-struct str_list_elt
-{
- str_list_elt_t *next;
- char *data;
-};
-
-typedef struct xstr_list str_list_t;
-struct xstr_list
-{
- str_list_elt_t pre_head;
- str_list_elt_t *head;
- str_list_elt_t *tail;
-};
+typedef struct void_list_elt str_list_elt_t;
+
+typedef struct void_list str_list_t;
int str_list_elt_init(str_list_elt_t *elt, char *data);
void str_list_elt_deinit(str_list_elt_t *elt);
@@ -48,4 +37,11 @@ str_list_elt_t *str_list_pop(str_list_t *list);
str_list_elt_t *str_list_remove(str_list_t *list, str_list_elt_t **iter);
char *str_list_remove_elt(str_list_t *list, const char *target_str);
+str_list_elt_t *str_list_first(str_list_t *list);
+str_list_elt_t *str_list_prev(str_list_t *list, str_list_elt_t *node);
+str_list_elt_t *str_list_next(str_list_t *list, str_list_elt_t *node);
+str_list_elt_t *str_list_last(str_list_t *list);
+
+void str_list_purge(str_list_t *list);
+
#endif