if (data != NULL && data->usage_count != UNDELETABLE)
if (data != NULL && data != _nl_C[category])
free_mem (void){  int category;  for (category = 0; category < __LC_LAST; ++category)    if (category != LC_ALL)      {	struct loaded_l10nfile *runp = locale_file_list[category];	while (runp != NULL)	  {	    struct loaded_l10nfile *here = runp;	    struct locale_data *data = (struct locale_data *) runp->data;	    if (data != NULL && data->usage_count != UNDELETABLE)	      _nl_unload_locale (data);	    runp = runp->next;	    free ((char *) here->filename);	    free (here);	  }      }}