From: maxed Date: Sat, 31 Mar 2018 10:17:45 +0000 (+0300) Subject: Fix the test for fsetxattr and strerror_r tests in CMake to work without compiling X-Git-Tag: curl-7_61_0~121 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7e93637acd9f5741ac4c09bbca353ac8da42bb17;p=thirdparty%2Fcurl.git Fix the test for fsetxattr and strerror_r tests in CMake to work without compiling --- diff --git a/CMake/CurlTests.c b/CMake/CurlTests.c index bc36c8ef7d..ac959f3406 100644 --- a/CMake/CurlTests.c +++ b/CMake/CurlTests.c @@ -507,30 +507,30 @@ main () #ifdef HAVE_GLIBC_STRERROR_R #include #include + +void check(char c) {} + int main () { - char buffer[1024]; /* big enough to play with */ - char *string = - strerror_r(EACCES, buffer, sizeof(buffer)); - /* this should've returned a string */ - if(!string || !string[0]) - return 99; - return 0; + char buffer[1024]; + // This will not compile if strerror_r does not return a char* + check(strerror_r(EACCES, buffer, sizeof(buffer))[0]); + return 0; } #endif #ifdef HAVE_POSIX_STRERROR_R #include #include + +// float, because a pointer can't be implicitly cast to float +void check(float f) {} + int main () { - char buffer[1024]; /* big enough to play with */ - int error = - strerror_r(EACCES, buffer, sizeof(buffer)); - /* This should've returned zero, and written an error string in the - buffer.*/ - if(!buffer[0] || error) - return 99; - return 0; + char buffer[1024]; + // This will not compile if strerror_r does not return an int + check(strerror_r(EACCES, buffer, sizeof(buffer))); + return 0; } #endif #ifdef HAVE_FSETXATTR_6 diff --git a/CMakeLists.txt b/CMakeLists.txt index b8c79f88a6..685faf9340 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -902,7 +902,7 @@ endif() check_symbol_exists(fsetxattr "${CURL_INCLUDES}" HAVE_FSETXATTR) if(HAVE_FSETXATTR) foreach(CURL_TEST HAVE_FSETXATTR_5 HAVE_FSETXATTR_6) - curl_internal_test_run(${CURL_TEST}) + curl_internal_test(${CURL_TEST}) endforeach(CURL_TEST) endif(HAVE_FSETXATTR) @@ -982,7 +982,7 @@ foreach(CURL_TEST HAVE_GLIBC_STRERROR_R HAVE_POSIX_STRERROR_R ) - curl_internal_test_run(${CURL_TEST}) + curl_internal_test(${CURL_TEST}) endforeach(CURL_TEST) # Check for reentrant