]> arthur.barton.de Git - netatalk.git/blob - libatalk/cnid/cdb/cnid_cdb_delete.c
use log_debug rather than log_info for LOG inside ifdef DEBUG
[netatalk.git] / libatalk / cnid / cdb / cnid_cdb_delete.c
1 /*
2  * $Id: cnid_cdb_delete.c,v 1.3 2009-10-29 13:17:29 didg Exp $
3  *
4  * Copyright (c) 1999. Adrian Sun (asun@zoology.washington.edu)
5  * All Rights Reserved. See COPYRIGHT.
6  *
7  * cnid_delete: delete a CNID from the database 
8  */
9
10 #ifdef HAVE_CONFIG_H
11 #include "config.h"
12 #endif /* HAVE_CONFIG_H */
13
14 #ifdef CNID_BACKEND_CDB
15 #include "cnid_cdb_private.h"
16
17 #define tid    NULL
18
19 int cnid_cdb_delete(struct _cnid_db *cdb, const cnid_t id) {
20     CNID_private *db;
21     DBT key;
22     int rc;
23
24     if (!cdb || !(db = cdb->_private) || !id || (db->flags & CNIDFLAG_DB_RO)) {
25         return -1;
26     }
27
28     memset(&key, 0, sizeof(key));
29
30     /* Get from ain CNID database. */
31     key.data = (cnid_t *)&id;
32     key.size = sizeof(id);
33     
34     if ((rc = db->db_cnid->del(db->db_cnid, tid, &key, 0))) {
35         LOG(log_error, logtype_default, "cnid_delete: Unable to delete CNID %u: %s",
36             ntohl(id), db_strerror(rc));
37     }
38     else {
39 #ifdef DEBUG
40         LOG(log_debug, logtype_default, "cnid_delete: Deleting CNID %u", ntohl(id));
41 #endif
42     }
43     return rc;
44 }
45
46 #endif /* CNID_BACKEND_CDB */