/******************************************************************************
Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP.
Code, Compile, Run and Debug online from anywhere in world.
*******************************************************************************/
#include <stdio.h>
#include <stdlib.h>
struct foo {
void *a;
void *b;
};
//#define scalloc(tag, p) ((p = malloc(sizeof *p)) && (*p = (const struct tag){0}, 1))
void *scalloc(void **pp, size_t size, void *value) {
if(!(*pp = malloc(size)))
return NULL;
memcpy(*pp, value, size);
return *pp;
}
int main()
{
struct foo *foo;
if(!scalloc(&foo, sizeof(*foo), &(struct foo){0})) printf("failure");
return 0;
}