home *** CD-ROM | disk | FTP | other *** search
-
- /***** 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);
- }
-