xref: /haiku/src/tests/system/libroot/posix/calloc_test.c (revision bddcee2a27042b4d8d6b0142b466f30abc886648)
1 /*
2  * Copyright 2017, ohnx, me@masonx.ca.
3  * Distributed under the terms of the CC0 License.
4  */
5 
6 #include <stdint.h>
7 #include <stdlib.h>
8 #include <stdio.h>
9 
10 int
11 main()
12 {
13 	void *ptr;
14 
15 	printf("Testing calloc(SIZE_MAX, SIZE_MAX)... ");
16 	if (calloc(SIZE_MAX, SIZE_MAX) != NULL) {
17 		printf("fail!\n");
18 		return -1;
19 	}
20 	printf("pass!\n");
21 
22 	printf("Testing calloc(0, 0)... ");
23 	ptr = calloc(0, 0);
24 	/* free the value, since calloc() should return a free() able pointer */
25 	free(ptr);
26 	/* if the test reaches this point, then calloc() works exactly as expected */
27 	printf("pass!\n");
28 
29 	printf("Testing calloc(-1, -1)... ");
30 	if (calloc(-1, -1) != NULL) {
31 		printf("fail!\n");
32 		return -1;
33 	}
34 	printf("pass!\n");
35 
36 	return 0;
37 }
38