diff --git a/SystemTools.cxx b/SystemTools.cxx index 5c3e741643c04e99ab3de82454734a0dfa6e7cf8..7a16b222f17095cafc39c9b029f18ae6f575f449 100644 --- a/SystemTools.cxx +++ b/SystemTools.cxx @@ -818,6 +818,14 @@ bool SystemTools::FileExists(const char* filename) #ifndef R_OK # define R_OK 04 #endif + +#ifdef __SYLLABLE__ + if ((filename !=0) && (*filename == 0)) + { + return false; + } +#endif + if ( access(filename, R_OK) != 0 ) { return false; diff --git a/kwsysDateStamp.cmake b/kwsysDateStamp.cmake index 84521761acda3a960f3a93d96290c237e0f34d9a..35c14dacd81317801fda87eac485e74124b0bf1a 100644 --- a/kwsysDateStamp.cmake +++ b/kwsysDateStamp.cmake @@ -7,4 +7,4 @@ SET(KWSYS_DATE_STAMP_YEAR 2007) SET(KWSYS_DATE_STAMP_MONTH 11) # KWSys version date day component. Format is DD. -SET(KWSYS_DATE_STAMP_DAY 16) +SET(KWSYS_DATE_STAMP_DAY 23) diff --git a/testDynamicLoader.cxx b/testDynamicLoader.cxx index dc0587c0bfe53ff89d86d28e60e3648f6ea8c286..cfdbfd4e1b10fe6bdc07defc7fb7f6cc4985b0a8 100644 --- a/testDynamicLoader.cxx +++ b/testDynamicLoader.cxx @@ -97,17 +97,22 @@ int testDynamicLoader(int argc, char *argv[]) #elif defined(__BEOS__) disable_debugger(1); #endif - int res; + int res = 0; if( argc == 3 ) { // User specify a libname and symbol to check. res = TestDynamicLoader(argv[1], argv[2],1,1,1); return res; } + +// dlopen() on Syllable before 11/22/2007 doesn't return 0 on error +#ifndef __SYLLABLE__ // Make sure that inexistant lib is giving correct result - res = TestDynamicLoader("azerty_", "foo_bar",0,0,0); + res += TestDynamicLoader("azerty_", "foo_bar",0,0,0); // Make sure that random binary file cannnot be assimilated as dylib res += TestDynamicLoader(TEST_SYSTEMTOOLS_BIN_FILE, "wp",0,0,0); +#endif + #ifdef __linux__ // This one is actually fun to test, since dlopen is by default loaded...wonder why :) res += TestDynamicLoader("foobar.lib", "dlopen",0,1,0);