home *** CD-ROM | disk | FTP | other *** search
/ Dream 48 / Amiga_Dream_48.iso / Atari / c / sozobon-v2 / dlibsrc.lha / WILDCARD.C < prev    next >
C/C++ Source or Header  |  1988-10-05  |  743b  |  34 lines

  1. #include <stdio.h>
  2. #include <osbind.h>
  3. #include <string.h>
  4. #include <stat.h>
  5. #include <limits.h>
  6.  
  7. static    struct stat    _wilddta;
  8. static    char        _wbuf[PATHSIZE];
  9. static    char        _wdrive[4], _wpath[PATHSIZE], _wbase[10], _wext[4];
  10.  
  11. char *wildcard(pathname)
  12.     char *pathname;
  13.     {
  14.     register struct stat *olddta;
  15.     register int search;
  16.  
  17.     olddta = (struct stat *) Fgetdta();
  18.     Fsetdta(&_wilddta);
  19.     if(pathname)                /* get first match */
  20.         {
  21.         _splitpath(pathname, _wdrive, _wpath, _wbase, _wext);
  22.         search = Fsfirst(pathname, 0x07);
  23.         }
  24.     else                    /* get next match */
  25.         search = Fsnext();
  26.     Fsetdta(olddta);
  27.     if(search == 0)
  28.         {
  29.         _makepath(_wbuf, _wdrive, _wpath, _wilddta.st_name, NULL);
  30.         return(_wbuf);
  31.         }
  32.     return(NULL);
  33.     }
  34.