home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / pp / pp-6.0 / Lib / util / getfpath.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-12-18  |  929 b   |  48 lines

  1. /* getfpath: fix up pathnames */
  2.  
  3. # ifndef lint
  4. static char Rcsid[] = "@(#)$Header: /xtel/pp/pp-beta/Lib/util/RCS/getfpath.c,v 6.0 1991/12/18 20:25:18 jpo Rel $";
  5. # endif
  6.  
  7. /*
  8.  * $Header: /xtel/pp/pp-beta/Lib/util/RCS/getfpath.c,v 6.0 1991/12/18 20:25:18 jpo Rel $
  9.  *
  10.  * $Log: getfpath.c,v $
  11.  * Revision 6.0  1991/12/18  20:25:18  jpo
  12.  * Release 6.0
  13.  *
  14.  */
  15.  
  16.  
  17.  
  18. #include "util.h"
  19.  
  20. /*
  21.  * convert a relative pathname into a full pathname - using base
  22.  * as the secret ingredient
  23.  */
  24.  
  25.  
  26. void getfpath (base, prog, buf)
  27. char    *base, *prog, *buf;
  28. {
  29.     if (*prog == '/' || strncmp (prog, "./", 2) == 0 ||
  30.         strncmp (prog, "../", 3) == 0)
  31.          (void) strcpy (buf, prog);
  32.     else
  33.          (void) sprintf (buf, "%s/%s", base, prog);
  34. }
  35.  
  36. /*
  37.  * as above, but no buffer supplied, grab space off the heap
  38.  */
  39.  
  40. char *dupfpath (base, prog)
  41. char    *base, *prog;
  42. {
  43.     char    tmpbuf[MAXPATHLENGTH];
  44.  
  45.     getfpath (base, prog, tmpbuf);
  46.     return strdup (tmpbuf);
  47. }
  48.