X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=datastore.c;h=774ec08cd2cf0555cf037d7fd8e50d27ea4a12c9;hb=7a6ec0c376cec9e41a12a876edea34fecaf5c2aa;hp=9527ff00f811eff2dcc4175e874252aa10db2690;hpb=17e1afcb81b8581091fcb660c2e61f05c75e00b5;p=libsigrok.git diff --git a/datastore.c b/datastore.c index 9527ff00..774ec08c 100644 --- a/datastore.c +++ b/datastore.c @@ -22,52 +22,55 @@ #include #include #include +#include -static gpointer new_chunk(struct datastore **ds); +static gpointer new_chunk(struct sr_datastore **ds); -int datastore_new(int unitsize, struct datastore **ds) +int sr_datastore_new(int unitsize, struct sr_datastore **ds) { if (!ds) - return SIGROK_ERR; + return SR_ERR; if (unitsize <= 0) - return SIGROK_ERR; /* TODO: Different error? */ + return SR_ERR; /* TODO: Different error? */ - if (!(*ds = g_malloc(sizeof(struct datastore)))) - return SIGROK_ERR_MALLOC; + if (!(*ds = g_try_malloc(sizeof(struct sr_datastore)))) { + sr_err("ds: %s: ds malloc failed", __func__); + return SR_ERR_MALLOC; + } (*ds)->ds_unitsize = unitsize; (*ds)->num_units = 0; (*ds)->chunklist = NULL; - return SIGROK_OK; + return SR_OK; } -int datastore_destroy(struct datastore *ds) +int sr_datastore_destroy(struct sr_datastore *ds) { GSList *chunk; if (!ds) - return SIGROK_ERR; - + return SR_ERR; + for (chunk = ds->chunklist; chunk; chunk = chunk->next) g_free(chunk->data); g_slist_free(ds->chunklist); g_free(ds); - return SIGROK_OK; + return SR_OK; } -void datastore_put(struct datastore *ds, void *data, unsigned int length, - int in_unitsize, int *probelist) +void sr_datastore_put(struct sr_datastore *ds, void *data, unsigned int length, + int in_unitsize, int *probelist) { unsigned int stored; int capacity, size, num_chunks, chunk_bytes_free, chunk_offset; gpointer chunk; /* Avoid compiler warnings. */ - in_unitsize = in_unitsize; - probelist = probelist; + (void)in_unitsize; + (void)probelist; if (ds->chunklist == NULL) chunk = new_chunk(&ds); @@ -100,7 +103,7 @@ void datastore_put(struct datastore *ds, void *data, unsigned int length, ds->num_units += stored / ds->ds_unitsize; } -static gpointer new_chunk(struct datastore **ds) +static gpointer new_chunk(struct sr_datastore **ds) { gpointer chunk;