
/***** Include vari *****/

#include "ProgED:sources/include/Ped.h"



/*****
 *
 * FUNZIONE:	ULONG SAVEDS ASM main(char *line,char *sectionname)
 *
 * SCOPO:	Cerca un riferimento ad una struttura C nella linea puntata
 *		da "line". Il nome del riferimento viene copiato in
 *		"sectionname".
 *
 * NOTA:	Utilizza SEMPRE la funzione geta4() o la direttiva __saveds!
 *
 * RESTITUISCE: Lunghezza della stringa copiata in "sectionname".
 *		0=riferimento non trovato.
 *
 ****/

ULONG SAVEDS ASM main(RG(a0) char *line,RG(a1) char *sectionname)
{
	char	*p,
		*q,
		*q1,
		*d;
	int	i;



	p=line;

	/***** Controlla che la linea inizi per 'struct' *****/
	if (*p)
	{
		if (p[0]=='s')
		if (p[1]=='t')
		if (p[2]=='r')
		if (p[3]=='u')
		if (p[4]=='c')
		if (p[5]=='t')
		{
			/***** Se si, salta fino a trovare la prossima
				parola saltando spazi e TAB *****/
			p+=6;
			while((*p==32)||(*p==9))	p++;

			/***** Copia la parola fino al prossimo spazio
				o TAB e ritorna in D0 la lunghezza. *****/
			if (*p)
			{
				q=p;
				while((*q!=32)&&(*q!=9)&&(*q))	q++;

				q1=q;

				if (*q)	while((*q==32)||(*q==9))	q++;

				if ((!(*q))||(*q=='{'))
				{
					d=sectionname;
					for(i=0;i<q1-p;i++)	*d++=p[i];
					*d='\0';
					return(q1-p);
				}
			}
		}
	}

	/***** Nulla da fare! *****/
	return(0);
}

