]> arthur.barton.de Git - netatalk.git/blob - etc/cnid_dbd/dbd_delete.c
remove gcc warning
[netatalk.git] / etc / cnid_dbd / dbd_delete.c
1 /*
2  * $Id: dbd_delete.c,v 1.2 2005-04-28 20:49:48 bfernhomberg Exp $
3  *
4  * Copyright (C) Joerg Lenneis 2003
5  * All Rights Reserved.  See COPYING.
6  */
7
8 #ifdef HAVE_CONFIG_H
9 #include "config.h"
10 #endif /* HAVE_CONFIG_H */
11
12 #include <string.h>
13 #include <errno.h>
14 #include <netatalk/endian.h>
15 #include <atalk/logger.h>
16 #include <atalk/cnid_dbd_private.h>
17
18 #include "dbif.h"
19 #include "dbd.h"
20 #include "pack.h"
21
22 int dbd_delete(struct cnid_dbd_rqst *rqst, struct cnid_dbd_rply *rply)
23 {
24     DBT key;
25     int rc;
26
27     memset(&key, 0, sizeof(key));
28
29     rply->namelen = 0;
30
31     key.data = (void *) &rqst->cnid;
32     key.size = sizeof(rqst->cnid);
33
34     if ((rc = dbif_del(DBIF_IDX_CNID, &key, 0)) < 0) {
35         LOG(log_error, logtype_cnid, "dbd_delete: Unable to delete entry for CNID %u", ntohl(rqst->cnid));
36         rply->result = CNID_DBD_RES_ERR_DB;
37         return -1;
38     }
39
40     if (rc) {
41 #ifdef DEBUG
42         LOG(log_info, logtype_cnid, "cnid_delete: CNID %u deleted", ntohl(rqst->cnid));
43 #endif
44         rply->result = CNID_DBD_RES_OK;
45     } else {
46 #ifdef DEBUG
47         LOG(log_info, logtype_cnid, "cnid_delete: CNID %u not in database", ntohl(rqst->cnid));
48 #endif
49         rply->result = CNID_DBD_RES_NOTFOUND;
50     }
51     return 1;
52 }