char abs_builddir[MAXPGPATH];
char testtablespace[MAXPGPATH];
char indir[MAXPGPATH];
+ struct stat st;
+ int ret;
char **name;
char **names;
int count = 0;
* current directory.
*/
if (srcdir)
- strcpy(abs_srcdir, srcdir);
+ strlcpy(abs_srcdir, srcdir, MAXPGPATH);
else
- strcpy(abs_srcdir, abs_builddir);
+ strlcpy(abs_srcdir, abs_builddir, MAXPGPATH);
snprintf(indir, MAXPGPATH, "%s/%s", abs_srcdir, source);
+
+ /* Check that indir actually exists and is a directory */
+ ret = stat(indir, &st);
+ if (ret != 0 || !S_ISDIR(st.st_mode))
+ {
+ /*
+ * No warning, to avoid noise in tests that do not have
+ * these directories; for example, ecpg, contrib and src/pl.
+ */
+ return;
+ }
+
names = pgfnames(indir);
if (!names)
/* Error logged in pgfnames */
static void
convert_sourcefiles(void)
{
- struct stat st;
- int ret;
-
- ret = stat("input", &st);
- if (ret == 0 && S_ISDIR(st.st_mode))
- convert_sourcefiles_in("input", "sql", "sql");
-
- ret = stat("output", &st);
- if (ret == 0 && S_ISDIR(st.st_mode))
- convert_sourcefiles_in("output", "expected", "out");
+ convert_sourcefiles_in("input", "sql", "sql");
+ convert_sourcefiles_in("output", "expected", "out");
}
/*