mowgli_config.h   mowgli_config.h 
skipping to change at line 133 skipping to change at line 133
slash. */ slash. */
#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
/* Define to the address where bug reports for this package should be sent. */ /* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "bugs+libmowgli@atheme.org" #define PACKAGE_BUGREPORT "bugs+libmowgli@atheme.org"
/* Define to the full name of this package. */ /* Define to the full name of this package. */
#define PACKAGE_NAME "libmowgli" #define PACKAGE_NAME "libmowgli"
/* Define to the full name and version of this package. */ /* Define to the full name and version of this package. */
#define PACKAGE_STRING "libmowgli 0.5.0" #define PACKAGE_STRING "libmowgli 0.6.0"
/* Define to the one symbol short name of this package. */ /* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "libmowgli" #define PACKAGE_TARNAME "libmowgli"
/* Define to the version of this package. */ /* Define to the version of this package. */
#define PACKAGE_VERSION "0.5.0" #define PACKAGE_VERSION "0.6.0"
/* Define to 1 if you have the ANSI C header files. */ /* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1 #define STDC_HEADERS 1
/* Define to empty if `const' does not conform to ANSI C. */ /* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */ /* #undef const */
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 mowgli_dictionary.h   mowgli_dictionary.h 
skipping to change at line 34 skipping to change at line 34
#ifndef __MOWGLI_DICTIONARY_H__ #ifndef __MOWGLI_DICTIONARY_H__
#define __MOWGLI_DICTIONARY_H__ #define __MOWGLI_DICTIONARY_H__
struct mowgli_dictionary_; /* defined in src/dictionary.c */ struct mowgli_dictionary_; /* defined in src/dictionary.c */
typedef struct mowgli_dictionary_ mowgli_dictionary_t; typedef struct mowgli_dictionary_ mowgli_dictionary_t;
typedef struct mowgli_dictionary_elem_ mowgli_dictionary_elem_t; typedef struct mowgli_dictionary_elem_ mowgli_dictionary_elem_t;
typedef int (*mowgli_dictionary_comparator_func_t)(const char *a, const cha
r *b);
struct mowgli_dictionary_elem_ struct mowgli_dictionary_elem_
{ {
mowgli_dictionary_elem_t *left, *right, *prev, *next; mowgli_dictionary_elem_t *left, *right, *prev, *next;
void *data; void *data;
char *key; char *key;
int position;
}; };
/* /*
* mowgli_dictionary_iteration_state_t, private. * mowgli_dictionary_iteration_state_t, private.
*/ */
struct mowgli_dictionary_iteration_state_ struct mowgli_dictionary_iteration_state_
{ {
mowgli_dictionary_elem_t *cur, *next; mowgli_dictionary_elem_t *cur, *next;
}; };
typedef struct mowgli_dictionary_iteration_state_ mowgli_dictionary_iterati on_state_t; typedef struct mowgli_dictionary_iteration_state_ mowgli_dictionary_iterati on_state_t;
/* /*
* this is a convenience macro for inlining iteration of dictionaries. * this is a convenience macro for inlining iteration of dictionaries.
*/ */
#define MOWGLI_DICTIONARY_FOREACH(element, state, dict) for (mowgli_diction ary_foreach_start((dict), (state)); (element = mowgli_dictionary_foreach_cu r((dict), (state))); mowgli_dictionary_foreach_next((dict), (state))) #define MOWGLI_DICTIONARY_FOREACH(element, state, dict) for (mowgli_diction ary_foreach_start((dict), (state)); (element = mowgli_dictionary_foreach_cu r((dict), (state))); mowgli_dictionary_foreach_next((dict), (state)))
/* /*
* mowgli_dictionary_create() creates a new dictionary tree of the defined resolution. * mowgli_dictionary_create() creates a new dictionary tree.
* compare_cb is the comparison function, typically strcmp, strcasecmp or * compare_cb is the comparison function, typically strcmp, strcasecmp or
* irccasecmp. * irccasecmp.
*/ */
extern mowgli_dictionary_t *mowgli_dictionary_create(int (*compare_cb)(cons extern mowgli_dictionary_t *mowgli_dictionary_create(mowgli_dictionary_comp
t char *a, const char *b)); arator_func_t compare_cb);
/*
* mowgli_dictionary_create_named() creates a new dictionary tree which has
a name.
* name is the name, compare_cb is the comparator.
*/
extern mowgli_dictionary_t *mowgli_dictionary_create_named(const char *name
, mowgli_dictionary_comparator_func_t compare_cb);
/*
* mowgli_dictionary_set_comparator_func() resets the comparator used for l
ookups and
* insertions in the DTree structure.
*/
extern void mowgli_dictionary_set_comparator_func(mowgli_dictionary_t *dict
,
mowgli_dictionary_comparator_func_t compare_cb);
/*
* mowgli_dictionary_get_comparator_func() returns the comparator used for
lookups and
* insertions in the DTree structure.
*/
extern mowgli_dictionary_comparator_func_t mowgli_dictionary_get_comparator
_func(mowgli_dictionary_t *dict);
/*
* mowgli_dictionary_get_linear_index() returns the linear index of an obje
ct in the
* DTree structure.
*/
extern int mowgli_dictionary_get_linear_index(mowgli_dictionary_t *dict, co
nst char *key);
/* /*
* mowgli_dictionary_destroy() destroys all entries in a dtree, and also op tionally calls * mowgli_dictionary_destroy() destroys all entries in a dtree, and also op tionally calls
* a defined callback function to destroy any data attached to it. * a defined callback function to destroy any data attached to it.
*/ */
extern void mowgli_dictionary_destroy(mowgli_dictionary_t *dtree, extern void mowgli_dictionary_destroy(mowgli_dictionary_t *dtree,
void (*destroy_cb)(mowgli_dictionary_elem_t *delem, void *privdata), void (*destroy_cb)(mowgli_dictionary_elem_t *delem, void *privdata),
void *privdata); void *privdata);
/* /*
 End of changes. 4 change blocks. 
3 lines changed or deleted 40 lines changed or added


 mowgli_heap.h   mowgli_heap.h 
skipping to change at line 44 skipping to change at line 44
struct mowgli_block_ struct mowgli_block_
{ {
mowgli_node_t node; mowgli_node_t node;
/* link back to our heap */ /* link back to our heap */
mowgli_heap_t *heap; mowgli_heap_t *heap;
/* pointer to the first item */ /* pointer to the first item */
void *data; void *data;
/* lists of items */ /* singly linked list of free items */
mowgli_list_t free_list; void *first_free;
mowgli_list_t used_list;
int num_allocated;
}; };
/* A pile of blocks */ /* A pile of blocks */
struct mowgli_heap_ struct mowgli_heap_
{ {
mowgli_node_t node; mowgli_node_t node;
unsigned int elem_size; unsigned int elem_size;
unsigned int mowgli_heap_elems; unsigned int mowgli_heap_elems;
unsigned int free_elems; unsigned int free_elems;
 End of changes. 1 change blocks. 
3 lines changed or deleted 4 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/