1: /* $Header: pathcat.c,v 1.2 85/03/17 15:23:03 nicklin Exp $ */
   2: 
   3: /*
   4:  * Author: Peter J. Nicklin
   5:  */
   6: 
   7: /*
   8:  * pathcat() concatenates path components p1 and p2 into character buffer
   9:  * p1_p2. Returns p1_p2.
  10:  */
  11: #include <stdio.h>
  12: #include "path.h"
  13: 
  14: extern char *PGN;           /* program name */
  15: 
  16: char *
  17: pathcat(p1_p2, p1, p2)
  18:     register char *p1;
  19:     register char *p2;
  20:     register char *p1_p2;
  21: {
  22:     register int plen;      /* maximum pathname length */
  23:     char *sp1_p2;           /* start of p1_p2 */
  24: 
  25:     sp1_p2 = p1_p2;
  26:     for (plen = PATHSIZE; plen > 0; plen--, p1_p2++, p1++)
  27:         if ((*p1_p2 = *p1) == '\0')
  28:             break;
  29:     if (*p2 != '\0' && plen > 0)
  30:         {
  31:         if (p1_p2 != sp1_p2 && p1_p2[-1] != _PSC)
  32:             {
  33:             *p1_p2++ = _PSC;
  34:             plen--;
  35:             }
  36:         for (; plen > 0; plen--, p1_p2++, p2++)
  37:             if ((*p1_p2 = *p2) == '\0')
  38:                 break;
  39:         }
  40:     if (plen == 0)
  41:         {
  42:         *--p1_p2 = '\0';
  43:         if (*PGN != '\0')
  44:             fprintf(stderr, "%s: ", PGN);
  45:         fprintf(stderr, "pathname too long\n");
  46:         }
  47:     return(sp1_p2);
  48: }

Defined functions

pathcat defined in line 16; used 9 times
Last modified: 1985-07-03
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 937
Valid CSS Valid XHTML 1.0 Strict