* Alejandro Colomar:

> I think everybody agrees that glibc's calloc(3) is conforming to C11,
> and it behaves like my proposal suggests.
>
>       alx@debian:~/tmp$ cat c.c 
>       #include <stdio.h>
>       #include <stdlib.h>
>
>       int
>       main(void)
>       {
>               printf("%p\n", calloc(0, 42));
>               perror("calloc(0, 42)");
>
>               printf("%p\n", calloc(42, 0));
>               perror("calloc(42, 0)");
>
>               printf("%p\n", calloc(0, 0));
>               perror("calloc(0, 0)");
>       }
>       alx@debian:~/tmp$ gcc c.c 
>       alx@debian:~/tmp$ ./a.out 
>       0x564b188332a0
>       calloc(0, 42): Success
>       0x564b188338d0
>       calloc(42, 0): Success
>       0x564b18833d00
>       calloc(0, 0): Success
>
> In any case, I've improved the wording to be more explicit about it.
> See alx-0029r6.

I think the wording still allows calloc (42, 0) to fail with EINVAL (or
some other error code) because 0 is not a valid object size.

Thanks,
Florian


Reply via email to