]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - gnu/libexec/uucp/libunix/app3.c
This commit was generated by cvs2svn to compensate for changes in r52746,
[FreeBSD/FreeBSD.git] / gnu / libexec / uucp / libunix / app3.c
1 /* app3.c
2    Stick two directories and a file name together.  */
3
4 #include "uucp.h"
5
6 #include "uudefs.h"
7 #include "sysdep.h"
8
9 char *
10 zsappend3 (zdir1, zdir2, zfile)
11      const char *zdir1;
12      const char *zdir2;
13      const char *zfile;
14 {
15   size_t cdir1, cdir2, cfile;
16   char *zret;
17
18   cdir1 = strlen (zdir1);
19   cdir2 = strlen (zdir2);
20   cfile = strlen (zfile);
21   zret = zbufalc (cdir1 + cdir2 + cfile + 3);
22   if (cdir1 == 1 && *zdir1 == '/')
23     cdir1 = 0;
24   else
25     memcpy (zret, zdir1, cdir1);
26   memcpy (zret + cdir1 + 1, zdir2, cdir2);
27   memcpy (zret + cdir1 + cdir2 + 2, zfile, cfile);
28   zret[cdir1] = '/';
29   zret[cdir1 + cdir2 + 1] = '/';
30   zret[cdir1 + cdir2 + cfile +  2] = '\0';
31   return zret;
32 }