]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/cmd/ndb/dnarea.c
ip/ipconfig, ndb/dns, libndb: handle parseipmask() errors
[plan9front.git] / sys / src / cmd / ndb / dnarea.c
index deb2ac506811f8fe75809babb8cbb14a112e9dbd..3418d4686b51da69986659c83d69fde88e1358f9 100644 (file)
@@ -56,7 +56,7 @@ addarea(DN *dp, RR *rp, Ndbtuple *t)
                l = &owned;
 
        for (s = *l; s != nil; s = s->next)
-               if (strcmp(dp->name, s->soarr->owner->name) == 0) {
+               if(s->soarr->owner == dp) {
                        unlock(&dnlock);
                        return;         /* we've already got one */
                }
@@ -89,14 +89,14 @@ freearea(Area **l)
 {
        Area *s;
 
+       lock(&dnlock);
        while(s = *l){
                *l = s->next;
-               lock(&dnlock);
                rrfree(s->soarr);
                memset(s, 0, sizeof *s);        /* cause trouble */
-               unlock(&dnlock);
                free(s);
        }
+       unlock(&dnlock);
 }
 
 /*