From 9b2d3d426665b65e3cbba33504f103e86896ec9a Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Fri, 16 Mar 2012 22:42:14 +0100 Subject: ndb: avoid double /net/ndb --- sys/src/cmd/ndb/cs.c | 4 ++++ sys/src/cmd/ndb/dblookup.c | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/sys/src/cmd/ndb/cs.c b/sys/src/cmd/ndb/cs.c index 10ecee536..3ab49efe4 100644 --- a/sys/src/cmd/ndb/cs.c +++ b/sys/src/cmd/ndb/cs.c @@ -336,6 +336,10 @@ ndbinit(void) if(db == nil) error("can't open network database"); + for(netdb = db; netdb; netdb = netdb->next) + if(strcmp(netdb->file, netndb) == 0) + return; + netdb = ndbopen(netndb); if(netdb != nil){ netdb->nohash = 1; diff --git a/sys/src/cmd/ndb/dblookup.c b/sys/src/cmd/ndb/dblookup.c index 5c3995f7e..9ff423d2c 100644 --- a/sys/src/cmd/ndb/dblookup.c +++ b/sys/src/cmd/ndb/dblookup.c @@ -72,6 +72,12 @@ opendatabase(void) xdb = ndbopen(dbfile); /* /lib/ndb */ snprint(netdbnm, sizeof netdbnm, "%s/ndb", mntpt); + for(netdb = xdb; netdb; netdb = netdb->next) + if(strcmp(netdb->file, netdbnm) == 0){ + db = xdb; + return 0; + } + netdb = ndbopen(netdbnm); /* /net/ndb */ if(netdb) netdb->nohash = 1; -- cgit v1.2.3