new_item
*new_item(char *, char *);
*new_item();
auxprop_plug_list_t *new_item;
new_item = sasl_ALLOC(sizeof(auxprop_plug_list_t));
if(!new_item) return SASL_NOMEM;
if(_sasl_strdup(plugname, &new_item->plugname, NULL) != SASL_OK) {
sasl_FREE(new_item);
new_item->plug = plug;
new_item->next = auxprop_head;
gctx->auxprop_head = new_item;
auxprop_head = new_item;
canonuser_plug_list_t *new_item;
new_item = sasl_ALLOC(sizeof(canonuser_plug_list_t));
if(!new_item) return SASL_NOMEM;
if(_sasl_strdup(plugname, &new_item->name, NULL) != SASL_OK) {
sasl_FREE(new_item);
strncpy(new_item->name, plugname, PATH_MAX);
new_item->plug = plug;
new_item->next = gctx->canonuser_head;
gctx->canonuser_head = new_item;
new_item->next = canonuser_head;
canonuser_head = new_item;
static inline void xge_list_insert (xge_list_t *new_item,
xge_assert(new_item != NULL);
new_item->next = prev_item->next;
new_item->prev = prev_item;
prev_item->next->prev = new_item;
prev_item->next = new_item;
static inline void xge_list_insert_before (xge_list_t *new_item,
xge_assert(new_item != NULL);
new_item->next = next_item;
new_item->prev = next_item->prev;
next_item->prev->next = new_item;
next_item->prev = new_item;