From ca615a4b3a9c00165eddad9e15d833128d5a91f5 Mon Sep 17 00:00:00 2001 From: Hallvard Furuseth Date: Sun, 17 Jul 2005 12:08:32 +0000 Subject: [PATCH] bvlist *list was updated through the wrong type. --- servers/slapd/back-ldif/ldif.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/servers/slapd/back-ldif/ldif.c b/servers/slapd/back-ldif/ldif.c index a9550a5415..6c2890a838 100644 --- a/servers/slapd/back-ldif/ldif.c +++ b/servers/slapd/back-ldif/ldif.c @@ -388,7 +388,7 @@ static int r_enum_tree(enumCookie *ck, struct berval *path, while(1) { struct berval fname, itmp; struct dirent * dir; - bvlist *bvl, *prev; + bvlist *bvl, **prev; dir = readdir(dir_of_path); if(dir == NULL) break; /* end of the directory */ @@ -416,15 +416,14 @@ static int r_enum_tree(enumCookie *ck, struct berval *path, } } - for (ptr = list, prev = (bvlist *)&list; ptr; - prev = ptr, ptr = ptr->next) { + for (prev = &list; (ptr = *prev) != NULL; prev = &ptr->next) { int cmp = strcmp( bvl->bv.bv_val, ptr->bv.bv_val ); if ( !cmp && bvl->num.bv_val ) cmp = bvl->inum - ptr->inum; if ( cmp < 0 ) break; } - prev->next = bvl; + *prev = bvl; bvl->next = ptr; } -- 2.39.5