Commit 9b32da5e89f052dc3c671861796a57e29416f57d

Authored by Georg Hopp
1 parent 4036a803

add storage delete functionality

... ... @@ -45,6 +45,7 @@ CLASS(Storage) {
45 45 StoragePutResult storagePut(Storage, char *, size_t, char *, size_t);
46 46 StoragePutResult storageUpdate(Storage, char *, size_t, char *, size_t);
47 47 void storageGet(Storage, char *, size_t, char **, size_t *);
  48 +int storageDelete(Storage, char *, size_t);
48 49
49 50 #endif // __STORAGE_H__
50 51
... ...
... ... @@ -5,5 +5,5 @@ AM_CFLAGS += -I../../include/
5 5
6 6 noinst_LTLIBRARIES = libstorage.la
7 7
8   -libstorage_la_SOURCES = storage.c get.c put.c update.c
  8 +libstorage_la_SOURCES = storage.c get.c put.c update.c delete.c
9 9 libstorage_la_CFLAGS = $(AM_CFLAGS)
... ...
  1 +/**
  2 + * \file
  3 + *
  4 + * \author Georg Hopp
  5 + *
  6 + * \copyright
  7 + * Copyright © 2012 Georg Hopp
  8 + *
  9 + * This program is free software: you can redistribute it and/or modify
  10 + * it under the terms of the GNU General Public License as published by
  11 + * the Free Software Foundation, either version 3 of the License, or
  12 + * (at your option) any later version.
  13 + *
  14 + * This program is distributed in the hope that it will be useful,
  15 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17 + * GNU General Public License for more details.
  18 + *
  19 + * You should have received a copy of the GNU General Public License
  20 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
  21 + */
  22 +
  23 +#include <gdbm.h>
  24 +#include <string.h>
  25 +#include <sys/types.h>
  26 +
  27 +#include "class.h"
  28 +#include "storage/storage.h"
  29 +
  30 +#include "utils/memory.h"
  31 +#include "commons.h"
  32 +
  33 +int
  34 +storageDelete(Storage this, char * _key, size_t nkey)
  35 +{
  36 + datum key = {_key, nkey};
  37 +
  38 + switch (gdbm_delete(this->gdbm, key)) {
  39 + case 0:
  40 + return TRUE;
  41 + case -1:
  42 + default:
  43 + return FALSE;
  44 + }
  45 +
  46 + return FALSE;
  47 +}
  48 +
  49 +// vim: set ts=4 sw=4:
... ...
Please register or login to post a comment