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