Permission_Save();
Permission_Save(PR_FALSE);
PERMISSION_Remove(const char* host, PRInt32 type) {  /* get to the indicated host in the list */  if (permission_list) {    PRInt32 hostCount = permission_list->Count();    permission_HostStruct * hostStruct;    while (hostCount>0) {      hostCount--;      hostStruct =        NS_STATIC_CAST(permission_HostStruct*, permission_list->ElementAt(hostCount));      NS_ASSERTION(hostStruct, "corrupt permission list");      if ((PL_strcmp(hostStruct->host, host) == 0)) {        /* get to the indicated permission in the list */        PRInt32 typeCount = hostStruct->permissionList->Count();        permission_TypeStruct * typeStruct;        while (typeCount>0) {          typeCount--;          typeStruct =            NS_STATIC_CAST              (permission_TypeStruct*, hostStruct->permissionList->ElementAt(typeCount));          NS_ASSERTION(typeStruct, "corrupt permission list");          if (typeStruct->type == type) {            permission_remove(hostCount, typeCount);            permission_changed = PR_TRUE;            Permission_Save();            break;          }        }        break;      }    }  }}