COOKIE_Write();
COOKIE_Write(PR_FALSE);
COOKIE_Remove    (const char* host, const char* name, const char* path, const PRBool blocked) {  cookie_CookieStruct * cookie;  PRInt32 count = 0;  /* step through all cookies searching for indicated one */  if (cookie_list) {    count = cookie_list->Count();    while (count>0) {      count--;      cookie = NS_STATIC_CAST(cookie_CookieStruct*, cookie_list->ElementAt(count));      NS_ASSERTION(cookie, "corrupt cookie list");      if ((PL_strcmp(cookie->host, host) == 0) &&          (PL_strcmp(cookie->name, name) == 0) &&          (PL_strcmp(cookie->path, path) == 0)) {        if (blocked && cookie->host) {          char * hostname = nsnull;          char * hostnameAfterDot = cookie->host;          while (*hostnameAfterDot == '.') {            hostnameAfterDot++;          }          CKutil_StrAllocCopy(hostname, hostnameAfterDot);          if (hostname) {            if (NS_SUCCEEDED(PERMISSION_Read())) {              Permission_AddHost(hostname, PR_FALSE, COOKIEPERMISSION, PR_TRUE);            }          }        }        cookie_list->RemoveElementAt(count);        deleteCookie((void*)cookie, nsnull);        cookie_changed = PR_TRUE;        COOKIE_Write();        break;      }    }  }}