home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of A1200
/
World_Of_A1200.iso
/
programs
/
text
/
golded
/
data
/
tools
/
gedscan
/
adoc.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-02-27
|
2KB
|
70 lines
/* -----------------------------------------------------------------------------
Example: scan handler looking for AutoDoc nodes. Scan handlers are plain
functions (LoadSeg'ed by GED): no standard C startup code, no library calls.
This handler is faster than GoldED's built in AutoDoc handler since it simply
looks for formfeeds. Won't work with all AutoDocs though Commodore's AutoDocs
are handled properly.
Exemple: gestionnaire de scan recherchant des nodes AutoDoc. Les gestion-
naires de scan sont des fonctions plain (LoadSeg'ées par GED): pas de code
de départ C standard, pas d'appel bibliothèque. Ce gestionnaire est plus
rapide que le gestionnaire autodoc intégré à GoldED car il recherche sim-
plement des sauts de page (formfeeds). Ne fonctionne pas avec toutes les
Autodocs, seules les autodocs de Commodore sont gérées.
DICE C:
dcc ADoc.c -// -l0 -md -mRR -o ram:ADoc
------------------------------------------------------------------------------
*/
#include <exec/types.h>
#define FORMFEED 12
ULONG
ScanHandlerGuide(__D0 ULONG len, __A0 char **text)
{
// look for node header
const char *version = "$VER: ADoc 1.0 (24.3.94)";
if (**text == FORMFEED) {
// look for beginning of header string (e.g. "Dos.Library/Open")
while (len && (**text <= ' ')) {
++*text;
--len;
}
// ignore first part of header string
while (len && (**text != '/')) {
++*text;
len--;
}
// extract node name
if (len) {
UWORD letters;
++*text;
--len;
for (letters = 0; len && ((*text)[letters] != 32); --len)
++letters;
return(letters);
}
}
return(NULL);
}