From 5262ba16d94d4c5c63f9f35789ed4acad21bf1d4 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Sat, 7 Jul 2012 19:55:43 +0200 Subject: [PATCH] Fixed #3947 (build failure if PATH_MAX is not defined) --- test/testfilelister.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/test/testfilelister.cpp b/test/testfilelister.cpp index 46774f28e..9b10f08e0 100644 --- a/test/testfilelister.cpp +++ b/test/testfilelister.cpp @@ -21,9 +21,11 @@ #include #ifndef _WIN32 +#include #include #include #include +#include #endif class TestFileLister: public TestFixture { @@ -55,11 +57,18 @@ private: #ifndef _WIN32 void absolutePath() { - char current_dir[PATH_MAX]; - getcwd(current_dir, sizeof(current_dir)); + std::vector current_dir; +#ifdef PATH_MAX + current_dir.resize(PATH_MAX); +#else + current_dir.resize(1024); +#endif + while (getcwd(¤t_dir[0], current_dir.size()) == NULL && errno == ERANGE) { + current_dir.resize(current_dir.size() + 1024); + } std::string absolute_path = FileLister::getAbsolutePath("."); - ASSERT_EQUALS(current_dir, absolute_path); + ASSERT_EQUALS(¤t_dir[0], absolute_path); } #endif