rem: permPtr->implicit_allow = allow;
add: permPtr->implicit_allow = !allow;
context: AllowDenyCmd(Server *servPtr, Tcl_Interp *interp, int argc, char **argv, int allow, int user){    Perm *permPtr;    Ns_DString base;    char *method, *url, *key;    int flags, new;    if (argc != 5 && argc != 6) {	Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],	    " cmd ?-noinherit? method url key", NULL);	return TCL_ERROR;    }    if (argc != 6) {	flags = 0;    } else {	if (!STREQ(argv[2], "-noinherit")) {	    Tcl_AppendResult(interp, "invalid option \"", argv[2],	    	"\": should be -noinherit", NULL);	    return TCL_ERROR;	}	flags = NS_OP_NOINHERIT;    }    key = argv[argc-1];        url = argv[argc-2];    method = argv[argc-3];    /*     * Construct the base url.     */         Ns_DStringInit(&base);    Ns_NormalizePath(&base, url);        /*     * Locate and verify the exact record.     */         permPtr = Ns_UrlSpecificGet(servPtr->server, method, url, uskey);    if (permPtr != NULL && !STREQ(base.string, permPtr->baseurl)) {    	permPtr = NULL;    }    if (permPtr == NULL) {	permPtr = ns_malloc(sizeof(Perm));	permPtr->baseurl = Ns_DStringExport(&base);	Tcl_InitHashTable(&permPtr->allowuser, TCL_STRING_KEYS);	Tcl_InitHashTable(&permPtr->denyuser, TCL_STRING_KEYS);	Tcl_InitHashTable(&permPtr->allowgroup, TCL_STRING_KEYS);	Tcl_InitHashTable(&permPtr->denygroup, TCL_STRING_KEYS);	Ns_UrlSpecificSet(servPtr->server, method, url, uskey, permPtr, flags, NULL);    }    permPtr->implicit_allow = allow;    if (user) {	if (allow) {            (void) Tcl_CreateHashEntry(&permPtr->allowuser, key, &new);	} else {            (void) Tcl_CreateHashEntry(&permPtr->denyuser, key, &new);	}    } else {	if (allow) {            (void) Tcl_CreateHashEntry(&permPtr->allowgroup, key, &new);	} else {            (void) Tcl_CreateHashEntry(&permPtr->denygroup, key, &new);	}    }    Ns_DStringFree(&base);    return TCL_OK;}