taskrambler  0.1.9
Web server and task management solution.
storage/put.c File Reference
#include <gdbm.h>
#include <string.h>
#include <sys/types.h>
#include "class.h"
#include "storage/storage.h"
#include "utils/memory.h"
+ Include dependency graph for storage/put.c:

Go to the source code of this file.

Functions

StoragePutResult storagePut (Storage this, char *_key, size_t nkey, char *data, size_t ndata)
 

Detailed Description

Author
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/.

Definition in file storage/put.c.

Function Documentation

StoragePutResult storagePut ( Storage  this,
char *  _key,
size_t  nkey,
char *  data,
size_t  ndata 
)

Definition at line 34 of file storage/put.c.

References SPR_EXISTS, SPR_OK, SPR_READ_ONLY, and SPR_UNKNOWN.

Referenced by applicationCreateUser(), and applicationLogin().

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 }

+ Here is the caller graph for this function: