Annotation of embedaddon/lighttpd/src/data_count.c, revision 1.1

1.1     ! misho       1: #include "array.h"
        !             2: 
        !             3: #include <string.h>
        !             4: #include <stdio.h>
        !             5: #include <stdlib.h>
        !             6: 
        !             7: static data_unset *data_count_copy(const data_unset *s) {
        !             8:        data_count *src = (data_count *)s;
        !             9:        data_count *ds = data_count_init();
        !            10: 
        !            11:        buffer_copy_string_buffer(ds->key, src->key);
        !            12:        ds->count = src->count;
        !            13:        ds->is_index_key = src->is_index_key;
        !            14:        return (data_unset *)ds;
        !            15: }
        !            16: 
        !            17: static void data_count_free(data_unset *d) {
        !            18:        data_count *ds = (data_count *)d;
        !            19: 
        !            20:        buffer_free(ds->key);
        !            21: 
        !            22:        free(d);
        !            23: }
        !            24: 
        !            25: static void data_count_reset(data_unset *d) {
        !            26:        data_count *ds = (data_count *)d;
        !            27: 
        !            28:        buffer_reset(ds->key);
        !            29: 
        !            30:        ds->count = 0;
        !            31: }
        !            32: 
        !            33: static int data_count_insert_dup(data_unset *dst, data_unset *src) {
        !            34:        data_count *ds_dst = (data_count *)dst;
        !            35:        data_count *ds_src = (data_count *)src;
        !            36: 
        !            37:        ds_dst->count += ds_src->count;
        !            38: 
        !            39:        src->free(src);
        !            40: 
        !            41:        return 0;
        !            42: }
        !            43: 
        !            44: static void data_count_print(const data_unset *d, int depth) {
        !            45:        data_count *ds = (data_count *)d;
        !            46:        UNUSED(depth);
        !            47: 
        !            48:        fprintf(stdout, "count(%d)", ds->count);
        !            49: }
        !            50: 
        !            51: 
        !            52: data_count *data_count_init(void) {
        !            53:        data_count *ds;
        !            54: 
        !            55:        ds = calloc(1, sizeof(*ds));
        !            56: 
        !            57:        ds->key = buffer_init();
        !            58:        ds->count = 1;
        !            59: 
        !            60:        ds->copy = data_count_copy;
        !            61:        ds->free = data_count_free;
        !            62:        ds->reset = data_count_reset;
        !            63:        ds->insert_dup = data_count_insert_dup;
        !            64:        ds->print = data_count_print;
        !            65:        ds->type = TYPE_COUNT;
        !            66: 
        !            67:        return ds;
        !            68: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>