if (*txt == START_SECTION && !(txt == *ioTxt || *(txt-1) == MAC_EOL || *(txt-1) == WIN_EOL))
if (*txt != MY_EOF)
GetNextSection(char **ioTxt, char *outSectionName, char *outSection){	Boolean exists = false;	char *txt, *snbuf, *sbuf;	long cnt;		txt = *ioTxt;		while (*txt != START_SECTION)	{		if (*txt == ';') /* comment encountered */		{			while ((*txt != MAC_EOL) && (*txt != WIN_EOL)) /* ignore rest of line */				txt++;		}				if (*txt == MY_EOF)			return false;		else			txt++;	}		if (*txt == START_SECTION) /* section name start */	{		txt++; 		snbuf = outSectionName;		cnt = 0;		while (*txt != END_SECTION) /* section name end */		{			if ((*txt==MAC_EOL) || (*txt==WIN_EOL)) /* incomplete section name so die */			{					return false;			}						if( kSNameMaxLen-1 >= cnt++) /* prevent falling of end of outSectionName buffer */			{				*snbuf = *txt;				snbuf++; txt++;			}			else				txt++;		}		*snbuf = MY_EOF;  /* close string */		txt++; /* skip over section name end char ']' */	}			/* adminstration before section contents encountered */	while( (*txt == MAC_EOL) || (*txt == WIN_EOL) || (*txt == ' ') || (*txt == '\t'))	{		txt++;	}		sbuf = outSection;	cnt = 0;find_contents:	while (*txt != START_SECTION && *txt != MY_EOF) /* next section encountered */	{		if( kSectionMaxLen-1 >= cnt++)	/* prevent from falling of end of outSection buffer */						{			*sbuf = *txt;			sbuf++; txt++;		}		else			txt++;	}	        /* handle case where '[' is in key or value (i.e., for i18n)*/    if (*txt == START_SECTION &&         !(txt == *ioTxt || *(txt-1) == MAC_EOL || *(txt-1) == WIN_EOL))    {		if( kSectionMaxLen-1 >= cnt++)	/* prevent from falling of end of outSection buffer */						{			*sbuf = *txt;			sbuf++; txt++;		}		else			txt++;        goto find_contents;    }     	*sbuf = MY_EOF;   	/* close string */	*ioTxt = txt;		/* move txt ptr to next section */	exists = true;		return exists;}