home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume5 / smallc / part3 / 8080 / arglist.c next >
Encoding:
Text File  |  1986-11-30  |  667 b   |  33 lines

  1. /*    Interpret CPM argument list to produce C style
  2.     argc/argv
  3.     default dma buffer has it, form:
  4.     ---------------------------------
  5.     |count|characters  ...          |
  6.     ---------------------------------
  7. */
  8. int    Xargc;
  9. int    Xargv[30];
  10. Xarglist(ap) char *ap; {
  11.     char qc;
  12.     Xargc = 0;
  13.     ap[(*ap)+1] = '\0';
  14.     ap++;
  15.     while (isspace(*ap)) ap++;
  16.     Xargv[Xargc++] = "arg0";
  17.     if (*ap)
  18.         do {
  19.             if (*ap == '\'' || *ap == '\"') {
  20.                 qc = *ap;
  21.                 Xargv[Xargc++] = ++ap;
  22.                 while (*ap&&*ap != qc) ap++;
  23.             } else {
  24.                 Xargv[Xargc++] = ap;
  25.                 while (*ap&&!isspace(*ap)) ap++;
  26.             }
  27.             if (!*ap) break;
  28.             *ap++='\0';
  29.             while (isspace(*ap)) ap++;
  30.         } while(*ap);
  31.     Xargv[Xargc] = 0;
  32. }
  33.