void * * a = NULL;
while(TRUE)
{
a = malloc(sizeof *a);
if(a == NULL)
break;
*a = malloc(1024);
if(*a == NULL)
break;
if(!do_some_other_tests(a))
break;
return a;
}/* cleanup /
if(a == NULL)
return;
if(a != NULL) free(*a);
free(a);
alt:void * * a = NULL;
switch(TRUE)
{
defaultt :
a = malloc(sizeof *a);
if(a == NULL)
break;
*a = malloc(1024);
if(*a == NULL)
break;
if(!do_some_other_tests(a))
break;
return a;
}/* cleanup /
if(a == NULL)
return;
if(a != NULL) free(*a);
free(a);