home *** CD-ROM | disk | FTP | other *** search
- /*
- * Scan an argc/argv array (as passed to a Hook) using 2.0 ReadArgs().
- *
- */
-
- #include <exec/types.h>
- #include <exec/memory.h>
- #include <dos/rdargs.h>
- #include <clib/exec_protos.h>
- #include <clib/dos_protos.h>
- #include <string.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <ctype.h>
-
-
-
- #define MAX_ARGS (32)
-
-
-
- struct RDArgs *ReadArgv (int argc, char **argv, char *template, LONG *array)
- {
- char *buf;
- struct RDArgs *rdargs, *rda;
- int i;
-
- buf = AllocMem(4096, MEMF_CLEAR);
- if (!buf) return(NULL);
-
- for (i = 1; i < argc; i++) {
- strcat(buf, argv[i]);
- strcat(buf, " ");
- }
- strcat(buf, "\n");
-
- rdargs = AllocDosObject(DOS_RDARGS, NULL);
- if (rdargs == NULL) return(NULL);
-
- rdargs->RDA_Source.CS_Buffer = buf;
- rdargs->RDA_Source.CS_Length = strlen(buf);
-
- rda = ReadArgs(template, array, rdargs);
-
- FreeMem(buf, 4096);
-
- return(rda);
- }
-
-
- void FreeArgv (struct RDArgs *rdargs)
- {
- FreeArgs(rdargs);
- FreeDosObject(DOS_RDARGS, rdargs);
- }
-
-