Beispiel #1
0
void logger_remove_stream(struct logger *inst, struct logger_stream *stream) {
    logger_assert(NULL != inst);
    logger_assert(NULL != stream);

    struct logger_list_node *it = NULL;

    for (it = inst->stream_list.first; it != NULL; it = it->next) {
        if (it->object == stream) {
            logger_list_remove_node(&inst->stream_list, it);
            break;
        }
    }
}
Beispiel #2
0
void *logger_list_pop(struct logger_list *inst, int *id) {
    logger_assert(NULL != inst);

    void *object = NULL;
    struct logger_list_node *node = inst->first;

    if (NULL != node) {
        object = node->object;
        if (NULL != id) {
            *id = node->id;
        }
        logger_list_remove_node(inst, node);
    }

    return object;
}