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 9char * 10zsappend4 (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