freebsd-dev/gnu/libexec/uucp/libunix/addbas.c
1993-08-05 18:28:27 +00:00

51 lines
906 B
C

/* addbas.c
If we have a directory, add in a base name. */
#include "uucp.h"
#include "uudefs.h"
#include "sysdep.h"
#include "system.h"
/* If we have a directory, add a base name. */
char *
zsysdep_add_base (zfile, zname)
const char *zfile;
const char *zname;
{
size_t clen;
const char *zlook;
char *zfree;
char *zret;
#if DEBUG > 0
if (*zfile != '/')
ulog (LOG_FATAL, "zsysdep_add_base: %s: Can't happen", zfile);
#endif
clen = strlen (zfile);
if (zfile[clen - 1] != '/')
{
if (! fsysdep_directory (zfile))
return zbufcpy (zfile);
zfree = NULL;
}
else
{
/* Trim out the trailing '/'. */
zfree = zbufcpy (zfile);
zfree[clen - 1] = '\0';
zfile = zfree;
}
zlook = strrchr (zname, '/');
if (zlook != NULL)
zname = zlook + 1;
zret = zsysdep_in_dir (zfile, zname);
ubuffree (zfree);
return zret;
}