/*
- * $Id: enumerate.c,v 1.16 2002-01-29 21:12:14 jmarcus Exp $
+ * $Id: enumerate.c,v 1.17 2002-02-02 19:11:34 jmarcus Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
cdir->d_did = cnid_add(vol->v_db, st, dir->d_did, upath,
upathlen, cdir->d_did);
/* Fail out if things go bad with CNID. */
- if (cdir->d_did < 0) {
+ if (cdir->d_did == CNID_INVALID) {
switch (errno) {
case CNID_ERR_PARAM:
LOG(log_error, logtype_default, "adddir: Incorrect parameters passed to cnid_add");
/*
- * $Id: file.c,v 1.38 2002-01-29 21:12:14 jmarcus Exp $
+ * $Id: file.c,v 1.39 2002-02-02 19:11:33 jmarcus Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
aint = cnid_add(vol->v_db, st, dir->d_did, upath,
strlen(upath), aint);
/* Throw errors if cnid_add fails. */
- if (aint < 0) {
+ if (aint == CNID_INVALID) {
switch (errno) {
case CNID_ERR_PARAM:
LOG(log_error, logtype_default, "getfilparams: Incorrect parameters passed to cnid_add");
}
#endif /* AD_VERSION > AD_VERSION1 */
- if (id = cnid_add(vol->v_db, &st, did, upath, len, id)) {
+ if (id = cnid_add(vol->v_db, &st, did, upath, len, id) != CNID_INVALID) {
memcpy(rbuf, &id, sizeof(id));
*rbuflen = sizeof(id);
return AFP_OK;
/*
- * $Id: fork.c,v 1.19 2002-01-29 21:12:14 jmarcus Exp $
+ * $Id: fork.c,v 1.20 2002-02-02 19:11:34 jmarcus Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
aint = cnid_add(ofork->of_vol->v_db, &st,
ofork->of_dir->d_did,
upath, strlen(upath), aint);
- if (aint < 0) {
+ if (aint == CNID_INVALID) {
switch (errno) {
case CNID_ERR_PARAM:
LOG(log_error, logtype_default, "getforkparams: Incorrect parameters passed to cnid_add");
#include <netatalk/endian.h>
+#define CNID_INVALID 0
+
#define CNID_ERR_PARAM 0x80000001
#define CNID_ERR_PATH 0x80000002
#define CNID_ERR_DB 0x80000003
/*
- * $Id: cnid_add.c,v 1.28 2002-02-01 19:51:09 jmarcus Exp $
+ * $Id: cnid_add.c,v 1.29 2002-02-02 19:11:37 jmarcus Exp $
*
* Copyright (c) 1999. Adrian Sun (asun@zoology.washington.edu)
* All Rights Reserved. See COPYRIGHT.
if (!(db = CNID) || !st || !name) {
errno = CNID_ERR_PARAM;
- return -1;
+ return CNID_INVALID;
}
/* Do a lookup. */
if ((data.data = make_cnid_data(st, did, name, len)) == NULL) {
LOG(log_error, logtype_default, "cnid_add: Path name is too long");
errno = CNID_ERR_PATH;
- return -1;
+ return CNID_INVALID;
}
data.size = CNID_HEADER_LEN + len + 1;
default:
LOG(log_error, logtype_default, "cnid_add: Unable to add CNID %u: %s", ntohl(hint), db_strerror(rc));
errno = CNID_ERR_DB;
- return -1;
+ return CNID_INVALID;
case 0:
#ifdef DEBUG
LOG(log_info, logtype_default, "cnid_add: Used hint for did %u, name %s as %u", ntohl(did), name, ntohl(hint));
if ((rc = txn_begin(db->dbenv, NULL, &tid, 0)) != 0) {
LOG(log_error, logtype_default, "cnid_add: Failed to begin transaction: %s", db_strerror(rc));
errno = CNID_ERR_DB;
- return -1;
+ return CNID_INVALID;
}
/* Get the key. */
if ((rc = txn_abort(tid)) != 0) {
LOG(log_error, logtype_default, "cnid_add: txn_abort: %s", db_strerror(rc));
errno = CNID_ERR_DB;
- return -1;
+ return CNID_INVALID;
}
goto retry;
case 0:
txn_abort(tid);
LOG(log_error, logtype_default, "cnid_add: FATAL: Cannot add CNID for %s. CNID database has reached its limit.", name);
errno = CNID_ERR_MAX;
- return -1;
+ return CNID_INVALID;
}
hint = htonl(id);
#ifdef DEBUG
if ((rc = txn_abort(tid)) != 0) {
LOG(log_error, logtype_default, "cnid_add: txn_abort: %s", db_strerror(rc));
errno = CNID_ERR_DB;
- return -1;
+ return CNID_INVALID;
}
goto retry;
case 0:
if ((rc = txn_commit(tid, 0)) != 0) {
LOG(log_error, logtype_default, "cnid_add: Unable to commit transaction: %s", db_strerror(rc));
errno = CNID_ERR_DB;
- return -1;
+ return CNID_INVALID;
}
break;
default:
if (rc) {
LOG(log_error, logtype_default, "cnid_add: Failed to add CNID for %s to database using hint %u: %s", name, ntohl(hint), db_strerror(rc));
errno = CNID_ERR_DB;
- return -1;
+ return CNID_INVALID;
}
#ifdef DEBUG
txn_abort(tid);
errno = CNID_ERR_DB;
- return -1;
+ return CNID_INVALID;
}
#endif /* CNID_DB */