>>333

説明不足だったかな。実例を1つ(独自実装が多くてすみません):
uriheader uri_new( uriheader cuh , ctchar* uri ) {
uriheader uh=NULL;

if (uri == NULL) return NULL;

if ((uh=memalloc(sizeof(*uh))) == NULL) goto error;

uriheader_init(uh);

if ((uh->uri=str_dup(uri)) == NULL) goto error;

中処理略

return uh;

error:

uri_delete(uh);

return NULL;
}