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:
parent
afab6492e1
commit
b6ecd4fbe2
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user