int main() { lmc_error_t e; local_memcache_t *lmc = local_memcache_create("viewcounters", 0, 0, 0, &e); if (!lmc) { fprintf(stderr, "Couldn't create localmemcache: %s\n", e.error_str); return 1; } if (!local_memcache_set(lmc, "foo", 3, "1", 1)) goto failed; size_t n_value; char *value = local_memcache_get_new(lmc, "foo", 3, &n_value); if (!value) goto failed; free(value); if (!local_memcache_delete(lmc, "foo", 3)) goto failed; if (!local_memcache_free(lmc, &e)) { fprintf(stderr, "Failed to release localmemcache: %s\n", e.error_str); return 1; } return 0; failed: fprintf(stderr, "%s\n", lmc->error.error_str); return 1; }
/* * call-seq: * lmc.close() -> Qnil * * Releases hashtable. */ static mrb_value Cache__close(mrb_state *mrb, mrb_value self) { lmc_error_t e; rb_lmc_handle_t *h = DATA_PTR(self); if (!local_memcache_free(rb_lmc_check_handle_access(mrb, h), &e)) rb_lmc_raise_exception(mrb, &e); h->open = 0; return mrb_nil_value(); }
/* * call-seq: * lmc.close() -> Qnil * * Releases hashtable. */ static VALUE LocalMemCache__close(VALUE obj) { lmc_error_t e; rb_lmc_handle_t *h; Data_Get_Struct(obj, rb_lmc_handle_t, h); if (!local_memcache_free(rb_lmc_check_handle_access(h), &e)) rb_lmc_raise_exception(&e); h->open = 0; return Qnil; }
/* :nodoc: */ static void rb_lmc_cache_destructor(mrb_state *mrb, void *p) { rb_lmc_handle_t *h; lmc_error_t e; h = (rb_lmc_handle_t *)p; if (!h || (h->open == 0) || !h->lmc) return; if (!local_memcache_free(h->lmc, &e)) { mrb_free(mrb, p); rb_lmc_raise_exception(mrb, &e); return; } mrb_free(mrb, p); }
/* :nodoc: */ static void rb_lmc_free_handle(rb_lmc_handle_t *h) { lmc_error_t e; local_memcache_free(rb_lmc_check_handle_access(h), &e); }