summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2000-05-12 06:27:35 +0000
committerTim Potter <tpot@samba.org>2000-05-12 06:27:35 +0000
commit4cdc54ba244f72a4a143e7a0e0c0b4fcfaa13d3c (patch)
treeca65489e43e909ee8e5dbda7a50c415c40fc8d45 /source3
parent7738941ccf4ebcaccea872619c465a45fb7bf0ae (diff)
downloadsamba-4cdc54ba244f72a4a143e7a0e0c0b4fcfaa13d3c.tar.gz
samba-4cdc54ba244f72a4a143e7a0e0c0b4fcfaa13d3c.tar.bz2
samba-4cdc54ba244f72a4a143e7a0e0c0b4fcfaa13d3c.zip
While we're all making incompatible tdb changes, I changed the implementation
of tdb_{store,get}_int() to store the length of the string key + 1 so the stored key contains the trailing NULL character. This allows normal string library routines to manipulate keys. Also renamed tdb_get_int() to tdb_fetch_int() to keep the set of verbs consistent. (This used to be commit a423c7c5f21dc4046530b85482dee88dcfcbf070)
Diffstat (limited to 'source3')
-rw-r--r--source3/nsswitch/winbindd_cache.c2
-rw-r--r--source3/nsswitch/winbindd_idmap.c7
-rw-r--r--source3/printing/printing.c6
-rw-r--r--source3/tdb/tdbutil.c8
4 files changed, 12 insertions, 11 deletions
diff --git a/source3/nsswitch/winbindd_cache.c b/source3/nsswitch/winbindd_cache.c
index b6b753bae0..cd648c696c 100644
--- a/source3/nsswitch/winbindd_cache.c
+++ b/source3/nsswitch/winbindd_cache.c
@@ -101,7 +101,7 @@ static uint32 get_cache_sequence_number(char *domain_name, char *cache_type, cha
uint32 seq_num;
slprintf(keystr,sizeof(keystr),"CACHESEQ %s/%s/%s",
domain_name, cache_type, subkey?subkey:"");
- seq_num = (uint32)tdb_get_int(cache_tdb, keystr);
+ seq_num = (uint32)tdb_fetch_int(cache_tdb, keystr);
DEBUG(4,("%s is %u\n", keystr, (unsigned)seq_num));
return seq_num;
}
diff --git a/source3/nsswitch/winbindd_idmap.c b/source3/nsswitch/winbindd_idmap.c
index cd3fd2caab..15a9ac4009 100644
--- a/source3/nsswitch/winbindd_idmap.c
+++ b/source3/nsswitch/winbindd_idmap.c
@@ -40,7 +40,8 @@ static BOOL allocate_id(int *id, BOOL isgroup)
/* Get current high water mark */
- if ((hwm = tdb_get_int(idmap_tdb, isgroup ? HWM_GROUP : HWM_USER)) == -1) {
+ if ((hwm = tdb_fetch_int(idmap_tdb,
+ isgroup ? HWM_GROUP : HWM_USER)) == -1) {
return False;
}
@@ -217,14 +218,14 @@ BOOL winbindd_idmap_init(void)
/* Create high water marks for group and user id */
- if (tdb_get_int(idmap_tdb, HWM_USER) == -1) {
+ if (tdb_fetch_int(idmap_tdb, HWM_USER) == -1) {
if (tdb_store_int(idmap_tdb, HWM_USER, server_state.uid_low) == -1) {
DEBUG(0, ("Unable to initialise user hwm in idmap database\n"));
return False;
}
}
- if (tdb_get_int(idmap_tdb, HWM_GROUP) == -1) {
+ if (tdb_fetch_int(idmap_tdb, HWM_GROUP) == -1) {
if (tdb_store_int(idmap_tdb, HWM_GROUP, server_state.gid_low) == -1) {
DEBUG(0, ("Unable to initialise group hwm in idmap database\n"));
return False;
diff --git a/source3/printing/printing.c b/source3/printing/printing.c
index b23dd3aa73..0a2f494a27 100644
--- a/source3/printing/printing.c
+++ b/source3/printing/printing.c
@@ -76,7 +76,7 @@ BOOL print_backend_init(void)
/* handle a Samba upgrade */
tdb_writelock(tdb);
- if (tdb_get_int(tdb, "INFO/version") != PRINT_DATABASE_VERSION) {
+ if (tdb_fetch_int(tdb, "INFO/version") != PRINT_DATABASE_VERSION) {
tdb_traverse(tdb, (tdb_traverse_func)tdb_delete, NULL);
tdb_store_int(tdb, "INFO/version", PRINT_DATABASE_VERSION);
}
@@ -602,7 +602,7 @@ int print_job_start(int snum, char *jobname)
/* lock the database */
tdb_writelock(tdb);
- next_jobid = tdb_get_int(tdb, "INFO/nextjob");
+ next_jobid = tdb_fetch_int(tdb, "INFO/nextjob");
if (next_jobid == -1) next_jobid = 1;
for (jobid = next_jobid+1; jobid != next_jobid; ) {
@@ -723,7 +723,7 @@ static BOOL print_cache_expired(int snum)
fstring key;
time_t t2, t = time(NULL);
slprintf(key, sizeof(key), "CACHE/%s", lp_servicename(snum));
- t2 = tdb_get_int(tdb, key);
+ t2 = tdb_fetch_int(tdb, key);
if (t2 == ((time_t)-1) || (t - t2) >= lp_lpqcachetime()) {
return True;
}
diff --git a/source3/tdb/tdbutil.c b/source3/tdb/tdbutil.c
index d7cc7f8b2a..2546b9d88c 100644
--- a/source3/tdb/tdbutil.c
+++ b/source3/tdb/tdbutil.c
@@ -26,7 +26,7 @@
/* fetch a value by a arbitrary blob key, return -1 if not found */
-int tdb_get_int_byblob(TDB_CONTEXT *tdb, char *keyval, size_t len)
+int tdb_fetch_int_byblob(TDB_CONTEXT *tdb, char *keyval, size_t len)
{
TDB_DATA key, data;
int ret;
@@ -42,9 +42,9 @@ int tdb_get_int_byblob(TDB_CONTEXT *tdb, char *keyval, size_t len)
}
/* fetch a value by string key, return -1 if not found */
-int tdb_get_int(TDB_CONTEXT *tdb, char *keystr)
+int tdb_fetch_int(TDB_CONTEXT *tdb, char *keystr)
{
- return tdb_get_int_byblob(tdb, keystr, strlen(keystr));
+ return tdb_fetch_int_byblob(tdb, keystr, strlen(keystr) + 1);
}
/* store a value by an arbitary blob key, return 0 on success, -1 on failure */
@@ -63,7 +63,7 @@ int tdb_store_int_byblob(TDB_CONTEXT *tdb, char *keystr, size_t len, int v)
/* store a value by string key, return 0 on success, -1 on failure */
int tdb_store_int(TDB_CONTEXT *tdb, char *keystr, int v)
{
- return tdb_store_int_byblob(tdb, keystr, strlen(keystr), v);
+ return tdb_store_int_byblob(tdb, keystr, strlen(keystr) + 1, v);
}
/* Store a buffer by a null terminated string key. Return 0 on success, -1