add_to_readlist (int locale, const char *name, const char *repertoire_name)
add_to_readlist (int locale, const char *name, const char *repertoire_name, int generate)
add_to_readlist (int locale, const char *name, const char *repertoire_name){  struct localedef_t *runp = locales;  while (runp != NULL && strcmp (name, runp->name) != 0)    runp = runp->next;  if (runp == NULL)    {      /* Add a new entry at the end.  */      struct localedef_t *newp = xcalloc (1, sizeof (struct localedef_t));      newp->name = name;      newp->repertoire_name = repertoire_name;      if (locales == NULL)	runp = locales = newp;      else	{	  runp = locales;	  while (runp->next != NULL)	    runp = runp->next;	  runp = runp->next = newp;	}    }  if ((runp->needed & (1 << locale)) != 0)    error (5, 0, _("circular dependencies between locale definitions"));  runp->needed |= 1 << locale;  return runp;}