for (symbolP = *head; *head != NULL;)
while (*head != NULL)
glue_symbols (head, tail)     symbolS **head;     symbolS **tail;{  unsigned int symbol_number = 0;  symbolS *symbolP;  for (symbolP = *head; *head != NULL;)    {      symbolS *tmp = *head;      /* append */      symbol_remove (tmp, head, tail);      symbol_append (tmp, symbol_lastP, &symbol_rootP, &symbol_lastP);      /* and process */      if (SF_GET_STRING (tmp))	{	  tmp->sy_name_offset = string_byte_count;	  string_byte_count += strlen (S_GET_NAME (tmp)) + 1;	}      else	{	  tmp->sy_name_offset = 0;	}			/* fix "long" names */      tmp->sy_number = symbol_number;      symbol_number += 1 + S_GET_NUMBER_AUXILIARY (tmp);    }				/* append the entire extern chain */  return symbol_number;}