diff options
Diffstat (limited to 'test/inet/gethost_r-align.c')
-rw-r--r-- | test/inet/gethost_r-align.c | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/test/inet/gethost_r-align.c b/test/inet/gethost_r-align.c deleted file mode 100644 index 53ce93acd..000000000 --- a/test/inet/gethost_r-align.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Since the reentrant gethost functions take a char * buffer, - * we have to make sure they internally do not assume alignment. - * The actual return values are not relevant. If the test fails, - * it'll be due to an alignment exception which means the test - * app is killed by the kernel. - */ - -#include <errno.h> -#include <netdb.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <arpa/inet.h> -#include <sys/socket.h> - -int main(int argc, char *argv[]) -{ - size_t i; - char buf[1024]; - in_addr_t addr; - - addr = inet_addr("127.0.0.1"); - - for (i = 0; i < sizeof(size_t) * 2; ++i) { - struct hostent hent, *hentres; - int ret, herr; - - printf("Testing misalignment of %2zi bytes: ", i); - - memset(&hent, 0x00, sizeof(hent)); - ret = gethostent_r(&hent, buf + i, sizeof(buf) - i, &hentres, &herr); - printf("%sgethostent_r() ", (ret ? "!!!" : "")); - - memset(&hent, 0x00, sizeof(hent)); - ret = gethostbyname_r("localhost", &hent, buf + i, sizeof(buf) - i, &hentres, &herr); - printf("%sgethostbyname_r() ", (ret ? "!!!" : "")); - - memset(&hent, 0x00, sizeof(hent)); - ret = gethostbyname2_r("localhost", AF_INET, &hent, buf + i, sizeof(buf) - i, &hentres, &herr); - printf("%sgethostbyname2_r() ", (ret ? "!!!" : "")); - - memset(&hent, 0x00, sizeof(hent)); - ret = gethostbyaddr_r(&addr, sizeof(addr), AF_INET, &hent, buf + i, sizeof(buf) - i, &hentres, &herr); - printf("%sgethostbyaddr_r() ", (ret ? "!!!" : "")); - - puts("OK!"); - } - - return 0; -} |