libalpm
Arch Linux Package Manager Library
alpm_list.c File Reference
#include <stdlib.h>
#include <string.h>
#include "alpm_list.h"
Include dependency graph for alpm_list.c:

Macros

#define SYMEXPORT   __attribute__((visibility("default")))
 

Functions

void alpm_list_free (alpm_list_t *list)
 Free a list, but not the contained data.
 
void alpm_list_free_inner (alpm_list_t *list, alpm_list_fn_free fn)
 Free the internal data of a list structure but not the list itself.
 
alpm_list_talpm_list_add (alpm_list_t *list, void *data)
 Add a new item to the end of the list.
 
alpm_list_talpm_list_append (alpm_list_t **list, void *data)
 Add a new item to the end of the list.
 
alpm_list_talpm_list_append_strdup (alpm_list_t **list, const char *data)
 Duplicate and append a string to a list.
 
alpm_list_talpm_list_add_sorted (alpm_list_t *list, void *data, alpm_list_fn_cmp fn)
 Add items to a list in sorted order.
 
alpm_list_talpm_list_join (alpm_list_t *first, alpm_list_t *second)
 Join two lists.
 
alpm_list_talpm_list_mmerge (alpm_list_t *left, alpm_list_t *right, alpm_list_fn_cmp fn)
 Merge the two sorted sublists into one sorted list.
 
alpm_list_talpm_list_msort (alpm_list_t *list, size_t n, alpm_list_fn_cmp fn)
 Sort a list of size n using mergesort algorithm.
 
alpm_list_talpm_list_remove_item (alpm_list_t *haystack, alpm_list_t *item)
 Remove an item from the list.
 
alpm_list_talpm_list_remove (alpm_list_t *haystack, const void *needle, alpm_list_fn_cmp fn, void **data)
 Remove an item from the list.
 
alpm_list_talpm_list_remove_str (alpm_list_t *haystack, const char *needle, char **data)
 Remove a string from a list.
 
alpm_list_talpm_list_remove_dupes (const alpm_list_t *list)
 Create a new list without any duplicates.
 
alpm_list_talpm_list_strdup (const alpm_list_t *list)
 Copy a string list, including data.
 
alpm_list_talpm_list_copy (const alpm_list_t *list)
 Copy a list, without copying data.
 
alpm_list_talpm_list_copy_data (const alpm_list_t *list, size_t size)
 Copy a list and copy the data.
 
alpm_list_talpm_list_reverse (alpm_list_t *list)
 Create a new list in reverse order.
 
alpm_list_talpm_list_nth (const alpm_list_t *list, size_t n)
 Return nth element from list (starting from 0).
 
alpm_list_talpm_list_next (const alpm_list_t *node)
 Get the next element of a list.
 
alpm_list_talpm_list_previous (const alpm_list_t *list)
 Get the previous element of a list.
 
alpm_list_talpm_list_last (const alpm_list_t *list)
 Get the last item in the list.
 
size_t alpm_list_count (const alpm_list_t *list)
 Get the number of items in a list.
 
void * alpm_list_find (const alpm_list_t *haystack, const void *needle, alpm_list_fn_cmp fn)
 Find an item in a list.
 
static int ptr_cmp (const void *p, const void *q)
 
void * alpm_list_find_ptr (const alpm_list_t *haystack, const void *needle)
 Find an item in a list.
 
char * alpm_list_find_str (const alpm_list_t *haystack, const char *needle)
 Find a string in a list.
 
int alpm_list_cmp_unsorted (const alpm_list_t *left, const alpm_list_t *right, alpm_list_fn_cmp fn)
 Check if two lists contain the same data, ignoring order.
 
void alpm_list_diff_sorted (const alpm_list_t *left, const alpm_list_t *right, alpm_list_fn_cmp fn, alpm_list_t **onlyleft, alpm_list_t **onlyright)
 Find the differences between list left and list right
 
alpm_list_talpm_list_diff (const alpm_list_t *lhs, const alpm_list_t *rhs, alpm_list_fn_cmp fn)
 Find the items in list lhs that are not present in list rhs.
 
void * alpm_list_to_array (const alpm_list_t *list, size_t n, size_t size)
 Copy a list and data into a standard C array of fixed length.
 

Macro Definition Documentation

◆ SYMEXPORT

#define SYMEXPORT   __attribute__((visibility("default")))

Function Documentation

◆ ptr_cmp()

static int ptr_cmp ( const void * p,
const void * q )
static

Referenced by alpm_list_find_ptr().