diff options
author | Gerald Carter <jerry@samba.org> | 2004-03-19 16:22:47 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2004-03-19 16:22:47 +0000 |
commit | 56ce6136792478c63d371a7b187c1318043e081f (patch) | |
tree | fba69d1c6080674e3056661f3c79c276c5672f44 /source3/libsmb/libsmb_cache.c | |
parent | ebf27cf5a12711ea12058876e609864ad642b53a (diff) | |
download | samba-56ce6136792478c63d371a7b187c1318043e081f.tar.gz samba-56ce6136792478c63d371a7b187c1318043e081f.tar.bz2 samba-56ce6136792478c63d371a7b187c1318043e081f.zip |
updating release notes & merging Derrel Lipman's libsmbclient patch from HEAD
(This used to be commit 5fbfaa687a3674287eeadd205f56b2b253a9e2a9)
Diffstat (limited to 'source3/libsmb/libsmb_cache.c')
-rw-r--r-- | source3/libsmb/libsmb_cache.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source3/libsmb/libsmb_cache.c b/source3/libsmb/libsmb_cache.c index 67dc686b48..cb40b4aaa6 100644 --- a/source3/libsmb/libsmb_cache.c +++ b/source3/libsmb/libsmb_cache.c @@ -159,10 +159,15 @@ static int smbc_remove_cached_server(SMBCCTX * context, SMBCSRV * server) */ static int smbc_purge_cached(SMBCCTX * context) { - struct smbc_server_cache * srv = NULL; + struct smbc_server_cache * srv; + struct smbc_server_cache * next; int could_not_purge_all = 0; - for (srv=((struct smbc_server_cache *) context->server_cache);srv;srv=srv->next) { + for (srv = ((struct smbc_server_cache *) context->server_cache), + next = (srv ? srv->next :NULL); + srv; + srv = next, next = (srv ? srv->next : NULL)) { + if (smbc_remove_unused_server(context, srv->server)) { /* could not be removed */ could_not_purge_all = 1; |