summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2001-05-06 01:28:17 +0000
committerAndrew Tridgell <tridge@samba.org>2001-05-06 01:28:17 +0000
commit906a512e0b6b6b4d3398db274c7e34ce788357df (patch)
treee09b72d44d3a16fcd771001b42fdd9b6314d3e53
parent887d796a28a0aa28db84f1c02a1873f7f9f0cb0d (diff)
downloadsamba-906a512e0b6b6b4d3398db274c7e34ce788357df.tar.gz
samba-906a512e0b6b6b4d3398db274c7e34ce788357df.tar.bz2
samba-906a512e0b6b6b4d3398db274c7e34ce788357df.zip
merge from 2.2
(This used to be commit 13bf966cb8ed8df6b02018dceff94c275def8200)
-rw-r--r--source3/tdb/tdb.c8
-rw-r--r--source3/tdb/tdbutil.c7
2 files changed, 7 insertions, 8 deletions
diff --git a/source3/tdb/tdb.c b/source3/tdb/tdb.c
index bf94e4cbd3..e4f6325dc4 100644
--- a/source3/tdb/tdb.c
+++ b/source3/tdb/tdb.c
@@ -429,7 +429,6 @@ static int tdb_expand(TDB_CONTEXT *tdb, tdb_off size)
struct list_struct rec;
tdb_off offset;
char b = 0;
- void *old_map_ptr;
if (tdb_lock(tdb, -1, F_WRLCK) == -1) return 0;
@@ -440,8 +439,6 @@ static int tdb_expand(TDB_CONTEXT *tdb, tdb_off size)
the database up to a multiple of TDB_PAGE_SIZE */
size = TDB_ALIGN(tdb->map_size + size*10, TDB_PAGE_SIZE) - tdb->map_size;
- old_map_ptr = tdb->map_ptr;
-
if (!(tdb->flags & TDB_INTERNAL) && tdb->map_ptr)
tdb->map_ptr = tdb_munmap(tdb->map_ptr, tdb->map_size);
@@ -472,9 +469,8 @@ static int tdb_expand(TDB_CONTEXT *tdb, tdb_off size)
if (!(tdb->flags & TDB_NOMMAP)) {
tdb->map_ptr = tdb_mmap(tdb->map_size, 0, tdb->fd);
- /* if old_map_ptr was != NULL but the new one is, we have an error. */
- if (old_map_ptr && (tdb->map_ptr == NULL))
- goto fail;
+ /* We're ok if this fails and returns NULL, as we'll
+ fallback to read/write here. */
}
/* form a new freelist record */
diff --git a/source3/tdb/tdbutil.c b/source3/tdb/tdbutil.c
index c387644efc..a620f085a9 100644
--- a/source3/tdb/tdbutil.c
+++ b/source3/tdb/tdbutil.c
@@ -127,7 +127,7 @@ size_t tdb_pack(char *buf, int bufsize, char *fmt, ...)
uint32 d;
int i;
void *p;
- int len=0;
+ int len;
char *s;
char c;
char *buf0 = buf;
@@ -188,6 +188,7 @@ size_t tdb_pack(char *buf, int bufsize, char *fmt, ...)
default:
DEBUG(0,("Unknown tdb_pack format %c in %s\n",
c, fmt));
+ len = 0;
break;
}
@@ -213,7 +214,7 @@ int tdb_unpack(char *buf, int bufsize, char *fmt, ...)
va_list ap;
uint16 *w;
uint32 *d;
- int len=0;
+ int len;
int *i;
void **p;
char *s, **b;
@@ -272,6 +273,8 @@ int tdb_unpack(char *buf, int bufsize, char *fmt, ...)
default:
DEBUG(0,("Unknown tdb_unpack format %c in %s\n",
c, fmt));
+
+ len = 0;
break;
}