taskrambler
0.1.8
Web server and task management solution.
Main Page
Related Pages
Data Structures
Files
File List
Globals
storage/put.c
Go to the documentation of this file.
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
32
33
StoragePutResult
34
storagePut
(Storage
this
,
char
* _key,
size_t
nkey,
char
* data,
size_t
ndata)
35
{
36
datum key = {_key, nkey};
37
datum value = {data, ndata};
38
39
switch
(gdbm_store(this->gdbm, key, value, GDBM_INSERT)) {
40
case
0:
41
return
SPR_OK
;
42
case
1:
43
return
SPR_EXISTS
;
44
case
-1:
45
return
SPR_READ_ONLY
;
46
default
:
47
return
SPR_UNKNOWN
;
48
}
49
50
return
SPR_UNKNOWN
;
51
}
52
53
// vim: set ts=4 sw=4:
memory.h
StoragePutResult
StoragePutResult
Definition:
storage/storage.h:32
storagePut
StoragePutResult storagePut(Storage this, char *_key, size_t nkey, char *data, size_t ndata)
Definition:
storage/put.c:34
storage.h
SPR_OK
Definition:
storage/storage.h:33
SPR_READ_ONLY
Definition:
storage/storage.h:34
SPR_UNKNOWN
Definition:
storage/storage.h:36
SPR_EXISTS
Definition:
storage/storage.h:35
src
storage
put.c
Generated on Wed Apr 13 2016 15:12:24 for taskrambler by
1.8.10