chiark / gitweb /
configure: reorder options
[elogind.git] / libudev / libudev-list.c
index f6637fc92d9950bbe1553908c12e31a464b7f788..e828a4e4c6d796bb9116b20982ac9948dc795e8d 100644 (file)
@@ -38,10 +38,10 @@ struct udev_list_entry {
        struct udev_list_node *list;
        char *name;
        char *value;
-       int flag;
+       int num;
 };
 
-/* list head point to itself if empty */
+/* the list's head points to itself if empty */
 void udev_list_init(struct udev_list_node *list)
 {
        list->next = list;
@@ -114,12 +114,12 @@ void udev_list_entry_insert_before(struct udev_list_entry *new, struct udev_list
 
 struct udev_list_entry *udev_list_entry_add(struct udev *udev, struct udev_list_node *list,
                                            const char *name, const char *value,
-                                           int unique, int sort)
+                                           unsigned int flags)
 {
        struct udev_list_entry *entry_loop = NULL;
        struct udev_list_entry *entry_new;
 
-       if (unique)
+       if (flags & UDEV_LIST_UNIQUE) {
                udev_list_entry_foreach(entry_loop, udev_list_get_entry(list)) {
                        if (strcmp(entry_loop->name, name) == 0) {
                                dbg(udev, "'%s' is already in the list\n", name);
@@ -136,12 +136,14 @@ struct udev_list_entry *udev_list_entry_add(struct udev *udev, struct udev_list_
                                return entry_loop;
                        }
                }
+       }
 
-       if (sort)
+       if (flags & UDEV_LIST_SORT) {
                udev_list_entry_foreach(entry_loop, udev_list_get_entry(list)) {
                        if (strcmp(entry_loop->name, name) > 0)
                                break;
                }
+       }
 
        entry_new = malloc(sizeof(struct udev_list_entry));
        if (entry_new == NULL)
@@ -153,6 +155,7 @@ struct udev_list_entry *udev_list_entry_add(struct udev *udev, struct udev_list_
                free(entry_new);
                return NULL;
        }
+
        if (value != NULL) {
                entry_new->value = strdup(value);
                if (entry_new->value == NULL) {
@@ -161,10 +164,12 @@ struct udev_list_entry *udev_list_entry_add(struct udev *udev, struct udev_list_
                        return NULL;
                }
        }
+
        if (entry_loop != NULL)
                udev_list_entry_insert_before(entry_new, entry_loop);
        else
                udev_list_entry_append(entry_new, list);
+
        dbg(udev, "'%s=%s' added\n", entry_new->name, entry_new->value);
        return entry_new;
 }
@@ -199,7 +204,7 @@ struct udev_list_entry *udev_list_get_entry(struct udev_list_node *list)
  *
  * Returns: the next entry from the list, #NULL is no more entries are found.
  */
-struct udev_list_entry *udev_list_entry_get_next(struct udev_list_entry *list_entry)
+UDEV_EXPORT struct udev_list_entry *udev_list_entry_get_next(struct udev_list_entry *list_entry)
 {
        struct udev_list_node *next;
 
@@ -219,7 +224,7 @@ struct udev_list_entry *udev_list_entry_get_next(struct udev_list_entry *list_en
  *
  * Returns: the entry where @name matched, #NULL if no matching entry is found.
  */
-struct udev_list_entry *udev_list_entry_get_by_name(struct udev_list_entry *list_entry, const char *name)
+UDEV_EXPORT struct udev_list_entry *udev_list_entry_get_by_name(struct udev_list_entry *list_entry, const char *name)
 {
        struct udev_list_entry *entry;
 
@@ -238,7 +243,7 @@ struct udev_list_entry *udev_list_entry_get_by_name(struct udev_list_entry *list
  *
  * Returns: the name string of this entry.
  */
-const char *udev_list_entry_get_name(struct udev_list_entry *list_entry)
+UDEV_EXPORT const char *udev_list_entry_get_name(struct udev_list_entry *list_entry)
 {
        if (list_entry == NULL)
                return NULL;
@@ -251,23 +256,23 @@ const char *udev_list_entry_get_name(struct udev_list_entry *list_entry)
  *
  * Returns: the value string of this entry.
  */
-const char *udev_list_entry_get_value(struct udev_list_entry *list_entry)
+UDEV_EXPORT const char *udev_list_entry_get_value(struct udev_list_entry *list_entry)
 {
        if (list_entry == NULL)
                return NULL;
        return list_entry->value;
 }
 
-int udev_list_entry_get_flag(struct udev_list_entry *list_entry)
+int udev_list_entry_get_num(struct udev_list_entry *list_entry)
 {
        if (list_entry == NULL)
                return -EINVAL;
-       return list_entry->flag;
+       return list_entry->num;
 }
 
-void udev_list_entry_set_flag(struct udev_list_entry *list_entry, int flag)
+void udev_list_entry_set_num(struct udev_list_entry *list_entry, int num)
 {
        if (list_entry == NULL)
                return;
-       list_entry->flag = flag;
+       list_entry->num = num;
 }