1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-04 17:47:26 +03:00

fixed call of firstkey/nextkey to traverse driver database

(This used to be commit 11010f946af4d60d88bed450692e43c6a7860ab7)
This commit is contained in:
Andrew Tridgell 2000-05-27 03:37:05 +00:00
parent afab6492e1
commit b6ecd4fbe2

View File

@ -62,14 +62,14 @@ get a form struct list
****************************************************************************/
int get_ntforms(nt_forms_struct **list)
{
TDB_DATA kbuf, dbuf;
TDB_DATA kbuf, newkey, dbuf;
nt_forms_struct form;
int ret;
int n = 0;
for (kbuf = tdb_firstkey(tdb);
kbuf.dptr;
free(kbuf.dptr), kbuf = tdb_nextkey(tdb, kbuf)) {
newkey = tdb_nextkey(tdb, kbuf), free(kbuf.dptr), kbuf=newkey) {
if (strncmp(kbuf.dptr, FORMS_PREFIX, strlen(FORMS_PREFIX)) != 0) continue;
dbuf = tdb_fetch(tdb, kbuf);
@ -201,14 +201,14 @@ int get_ntdrivers(fstring **list, char *architecture)
int total=0;
fstring short_archi;
pstring key;
TDB_DATA kbuf;
TDB_DATA kbuf, newkey;
get_short_archi(short_archi, architecture);
slprintf(key, sizeof(key), "%s/%s/", DRIVERS_PREFIX, short_archi);
for (kbuf = tdb_firstkey(tdb);
kbuf.dptr;
free(kbuf.dptr), kbuf = tdb_nextkey(tdb, kbuf)) {
newkey = tdb_nextkey(tdb, kbuf), free(kbuf.dptr), kbuf=newkey) {
if (strncmp(kbuf.dptr, key, strlen(key)) != 0) continue;
if((*list = Realloc(*list, sizeof(fstring)*(total+1))) == NULL)