home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Source / GNU / uucp / Uucp.framework / unix.subproj / app4.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-10-09  |  887 b   |  37 lines

  1. /* app4.c
  2.    Stick three directories and a file name together.  */
  3.  
  4. #include "uucp.h"
  5.  
  6. #include "uudefs.h"
  7. #include "sysdep.h"
  8.  
  9. char *
  10. zsappend4 (zdir1, zdir2, zdir3, zfile)
  11.      const char *zdir1;
  12.      const char *zdir2;
  13.      const char *zdir3;
  14.      const char *zfile;
  15. {
  16.   size_t cdir1, cdir2, cdir3, cfile;
  17.   char *zret;
  18.  
  19.   cdir1 = strlen (zdir1);
  20.   cdir2 = strlen (zdir2);
  21.   cdir3 = strlen (zdir3);
  22.   cfile = strlen (zfile);
  23.   zret = zbufalc (cdir1 + cdir2 + cdir3 + cfile + 4);
  24.   if (cdir1 == 1 && *zdir1 == '/')
  25.     cdir1 = 0;
  26.   else
  27.     memcpy (zret, zdir1, cdir1);
  28.   memcpy (zret + cdir1 + 1, zdir2, cdir2);
  29.   memcpy (zret + cdir1 + cdir2 + 2, zdir3, cdir3);
  30.   memcpy (zret + cdir1 + cdir2 + cdir3 + 3, zfile, cfile);
  31.   zret[cdir1] = '/';
  32.   zret[cdir1 + cdir2 + 1] = '/';
  33.   zret[cdir1 + cdir2 + cdir3 + 2] = '/';
  34.   zret[cdir1 + cdir2 + cdir3 + cfile + 3] = '\0';
  35.   return zret;
  36. }
  37.