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

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



/*****
 *
 * FUNZIONE:	ULONG SAVEDS ASM main(char *line,char *sectionname)
 *
 * SCOPO:	Cerca un riferimento ad un nodo AmigaGuide 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 che la linea inizi per '@node' *****/
	p=line;
	if (*p)
	{
		if (p[0]=='@')
		if ((p[1]=='n')||(p[1]=='N'))
		if ((p[2]=='o')||(p[2]=='O'))
		if ((p[3]=='d')||(p[3]=='D'))
		if ((p[4]=='e')||(p[4]=='E'))
		{
			/***** Salta eventuali spazi e nodi dopo @node *****/
			p+=5;
			while((*p==32)||(*p==9))	p++;

			/***** Copia la stringa su cui ti trovi ora fino
				al prossimo spazio o TAB *****/
			if (*p)
			{
				q=p;
				if (*p==34)
				{
					q++;
					while((*q!=34)&&(*q)) q++;
				}
				else
				{
					while((*q!=32)&&(*q!=9)&&(*q))	q++;
				}
				if (*p==34)	p++;
				if (*(q-1)==34)	q--;

				/***** Copia il nome e ritorna *****/
				d=sectionname;
				for(i=0;i<q-p;i++)	*d++=p[i];
				*d='\0';
				return(q-p);
			}
		}
	}

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