home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 13 / CDA13.ISO / cdactual / demobin / share / program / C / ACTLIB10.ZIP / TOOLS.ZIP / PGMPATH.C < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-14  |  846 b   |  42 lines

  1. /*  Copyright (C) 1993   Marc Stern  (internet: stern@mble.philips.be)  */
  2.  
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <dos.h>
  6. #include "tools.h"
  7.  
  8.  
  9. extern char **_argv;  /* if not in Borland */
  10.  
  11.  
  12. /***
  13.  *
  14.  *  Function   :    getpgmpath
  15.  *
  16.  *  Topics     :    Transforms a filename into a full pathname
  17.  *                  relative to program directory.
  18.  *
  19.  *  Parameters :    in/out  char *filename    filename
  20.  *
  21.  *  Return     :    pointer to filename
  22.  *
  23.  ***/
  24.  
  25. char *getpgmpath( char *filename )
  26.  
  27. { char buffer[_MAX_PATH], *ptr;
  28.  
  29.   strcpy( buffer, filename );
  30.   strcpy( filename, _argv[0] );
  31.   ptr = strrchr(filename, '\\');
  32.  
  33.   if ( ! ptr ) { strcpy( filename, buffer );
  34.                  return filename;
  35.                }
  36.  
  37.   strcpy( ptr + 1, buffer );
  38.   strupr( filename );
  39.  
  40.   return filename;
  41. }
  42.