mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Remove unused copy_dir() function from pg_upgrade.
This commit is contained in:
@ -17,9 +17,6 @@ static int copy_file(const char *fromfile, const char *tofile, bool force);
|
|||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
static int win32_pghardlink(const char *src, const char *dst);
|
static int win32_pghardlink(const char *src, const char *dst);
|
||||||
#endif
|
#endif
|
||||||
#ifdef NOT_USED
|
|
||||||
static int copy_dir(const char *from, const char *to, bool force);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef HAVE_SCANDIR
|
#ifndef HAVE_SCANDIR
|
||||||
static int pg_scandir_internal(const char *dirname,
|
static int pg_scandir_internal(const char *dirname,
|
||||||
@ -381,97 +378,3 @@ win32_pghardlink(const char *src, const char *dst)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef NOT_USED
|
|
||||||
/*
|
|
||||||
* copy_dir()
|
|
||||||
*
|
|
||||||
* Copies either a directory or a single file within a directory. If the
|
|
||||||
* source argument names a directory, we recursively copy that directory,
|
|
||||||
* otherwise we copy a single file.
|
|
||||||
*/
|
|
||||||
static int
|
|
||||||
copy_dir(const char *src, const char *dst, bool force)
|
|
||||||
{
|
|
||||||
DIR *srcdir;
|
|
||||||
struct dirent *de = NULL;
|
|
||||||
struct stat fst;
|
|
||||||
|
|
||||||
if (src == NULL || dst == NULL)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Try to open the source directory - if it turns out not to be a
|
|
||||||
* directory, assume that it's a file and copy that instead.
|
|
||||||
*/
|
|
||||||
if ((srcdir = opendir(src)) == NULL)
|
|
||||||
{
|
|
||||||
if (errno == ENOTDIR)
|
|
||||||
return copy_file(src, dst, true);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mkdir(dst, S_IRWXU) != 0)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* ignore directory already exist error
|
|
||||||
*/
|
|
||||||
if (errno != EEXIST)
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
while ((de = readdir(srcdir)) != NULL)
|
|
||||||
{
|
|
||||||
char src_file[MAXPGPATH];
|
|
||||||
char dest_file[MAXPGPATH];
|
|
||||||
|
|
||||||
if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
memset(src_file, 0, sizeof(src_file));
|
|
||||||
memset(dest_file, 0, sizeof(dest_file));
|
|
||||||
|
|
||||||
snprintf(src_file, sizeof(src_file), "%s/%s", src, de->d_name);
|
|
||||||
snprintf(dest_file, sizeof(dest_file), "%s/%s", dst, de->d_name);
|
|
||||||
|
|
||||||
if (stat(src_file, &fst) < 0)
|
|
||||||
{
|
|
||||||
if (srcdir != NULL)
|
|
||||||
{
|
|
||||||
closedir(srcdir);
|
|
||||||
srcdir = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (S_ISDIR(fst.st_mode))
|
|
||||||
{
|
|
||||||
/* recurse to handle subdirectories */
|
|
||||||
if (force)
|
|
||||||
copy_dir(src_file, dest_file, true);
|
|
||||||
}
|
|
||||||
else if (S_ISREG(fst.st_mode))
|
|
||||||
{
|
|
||||||
if ((copy_file(src_file, dest_file, 1)) == -1)
|
|
||||||
{
|
|
||||||
if (srcdir != NULL)
|
|
||||||
{
|
|
||||||
closedir(srcdir);
|
|
||||||
srcdir = NULL;
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (srcdir != NULL)
|
|
||||||
{
|
|
||||||
closedir(srcdir);
|
|
||||||
srcdir = NULL;
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
Reference in New Issue
Block a user