diff options
Diffstat (limited to 'CMake')
-rw-r--r-- | CMake/CurlTests.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/CMake/CurlTests.c b/CMake/CurlTests.c index bc36c8ef7..ac959f340 100644 --- a/CMake/CurlTests.c +++ b/CMake/CurlTests.c @@ -507,30 +507,30 @@ main () #ifdef HAVE_GLIBC_STRERROR_R #include <string.h> #include <errno.h> + +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 <string.h> #include <errno.h> + +// 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 |