+--- a/flower/test-file-path.cc
++++ b/flower/test-file-path.cc
+@@ -6,12 +6,26 @@
+ #include "yaffut.hh"
+ #include "config.hh"
+
++string
++get_working_directory ()
++{
++#ifdef _GNU_SOURCE
++ char *cwd = get_current_dir_name();
++ string scwd(cwd);
++ free(cwd);
++ return scwd;
++#else
++ char cwd[PATH_MAX];
++ // getcwd returns NULL upon a failure, contents of cwd would be undefined!
++ return string (getcwd (cwd, PATH_MAX));
++#endif
++}
++
+ TEST (File_path, Find)
+ {
+ char const *extensions[] = {"ly", "", 0};
+ string file = "init";
+- char cwd[PATH_MAX];
+- if (!getcwd (cwd, PATH_MAX))
++ if (get_working_directory().empty())
+ {
+ cerr << "Could not get current work directory\n";
+ exit (1);