Fix cp and mv so 'cp foo/README bar' where foo and bar are directories,

and README is a file.
 -Erik
This commit is contained in:
Erik Andersen
2000-01-08 21:16:29 +00:00
parent 5338ce19c8
commit 1dbc17f630
6 changed files with 32 additions and 5 deletions

View File

@ -48,6 +48,7 @@ static int srcDirFlag = FALSE;
static int fileAction(const char *fileName, struct stat* statbuf)
{
char newdestName[NAME_MAX];
char* newsrcName = NULL;
strcpy(newdestName, destName);
if ( srcDirFlag == TRUE ) {
@ -62,7 +63,11 @@ static int fileAction(const char *fileName, struct stat* statbuf)
if (newdestName[strlen(newdestName)-1] != '/' ) {
strcat(newdestName, "/");
}
strcat(newdestName, srcName);
newsrcName = strrchr(srcName, '/');
if (newsrcName && *newsrcName != '\0')
strcat(newdestName, newsrcName);
else
strcat(newdestName, srcName);
}
return (copyFile(fileName, newdestName, preserveFlag, followLinks));