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

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



/*****
 *
 * FUNZIONE:	ULONG SAVEDS ASM main(char *line,char *sectionname)
 *
 * SCOPO:	Cerca un riferimento ad un #define 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,
		*d;
	int	i;



	/***** Controlla se la linea inizia per '#define' *****/
	p=line;
	if (*p)
	{
		if (p[0]=='#')
		if (p[1]=='d')
		if (p[2]=='e')
		if (p[3]=='f')
		if (p[4]=='i')
		if (p[5]=='n')
		if (p[6]=='e')
		{
			/***** Se si, salta fino a trovare la prossima
				parola saltando spazi e TAB *****/
			p+=7;
			while((*p==32)||(*p==9))	p++;

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

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

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