Browse Source

add storage delete functionality

v0.1.8
Georg Hopp 12 years ago
parent
commit
9b32da5e89
  1. 1
      include/storage/storage.h
  2. 2
      src/storage/Makefile.am
  3. 49
      src/storage/delete.c

1
include/storage/storage.h

@ -45,6 +45,7 @@ CLASS(Storage) {
StoragePutResult storagePut(Storage, char *, size_t, char *, size_t); StoragePutResult storagePut(Storage, char *, size_t, char *, size_t);
StoragePutResult storageUpdate(Storage, char *, size_t, char *, size_t); StoragePutResult storageUpdate(Storage, char *, size_t, char *, size_t);
void storageGet(Storage, char *, size_t, char **, size_t *); void storageGet(Storage, char *, size_t, char **, size_t *);
int storageDelete(Storage, char *, size_t);
#endif // __STORAGE_H__ #endif // __STORAGE_H__

2
src/storage/Makefile.am

@ -5,5 +5,5 @@ AM_CFLAGS += -I../../include/
noinst_LTLIBRARIES = libstorage.la noinst_LTLIBRARIES = libstorage.la
libstorage_la_SOURCES = storage.c get.c put.c update.c
libstorage_la_SOURCES = storage.c get.c put.c update.c delete.c
libstorage_la_CFLAGS = $(AM_CFLAGS) libstorage_la_CFLAGS = $(AM_CFLAGS)

49
src/storage/delete.c

@ -0,0 +1,49 @@
/**
* \file
*
* \author Georg Hopp
*
* \copyright
* Copyright © 2012 Georg Hopp
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <gdbm.h>
#include <string.h>
#include <sys/types.h>
#include "class.h"
#include "storage/storage.h"
#include "utils/memory.h"
#include "commons.h"
int
storageDelete(Storage this, char * _key, size_t nkey)
{
datum key = {_key, nkey};
switch (gdbm_delete(this->gdbm, key)) {
case 0:
return TRUE;
case -1:
default:
return FALSE;
}
return FALSE;
}
// vim: set ts=4 sw=4:
Loading…
Cancel
Save