home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD5.iso / workbench / dir / browserii / 2.0 / c / basename.c next >
Encoding:
C/C++ Source or Header  |  1993-03-30  |  911 b   |  42 lines

  1. /*
  2.  *    BaseName.c - Copyright © 1991 by Devil's child.
  3.  *
  4.  *    Created:    11 Sep 1992  18:00:25
  5.  *    Modified:    26 Nov 1992  21:42:12
  6.  *
  7.  *    Make>> sc <file>.c
  8.  *    Make>> slink <file>.o SC SD ND BATCH NOICONS TO <file>
  9.  */
  10.  
  11.  
  12. long main(void)
  13. {
  14.     struct DosLibrary *DOSBase;
  15.     APTR UtilityBase;
  16.     struct RDArgs *RA;
  17.     char *Argv[] = { NULL, NULL, NULL };
  18.     UBYTE *s, *suffix;
  19.     long suflen, namelen, rc=20;
  20.  
  21.     if (DOSBase = (struct DosLibrary *)OpenLibrary("dos.library", 37)) {
  22.         UtilityBase = DOSBase->dl_UtilityBase;
  23.         if (RA = ReadArgs("Path/A,Suffix", (long *)Argv, NULL)) {
  24.             s = FilePart(Argv[0]);
  25.             if (Argv[1] && (suflen = strlen(Argv[1])) < (namelen = strlen(s))) {
  26.                 suffix = &s[namelen - suflen];
  27.                 if (!Stricmp(suffix, Argv[1]))
  28.                     *suffix = 0;
  29.             }
  30.             Printf("%s\n", s);
  31.             FreeArgs(RA);
  32.             rc = 0;
  33.         }
  34.         else
  35.             PrintFault(IoErr(), "BaseName");
  36.         CloseLibrary((struct Library *)DOSBase);
  37.     }
  38.     return rc;
  39. }
  40.  
  41.  
  42.