func:  nestegg_init(nestegg ** context, nestegg_io io, nestegg_log callback, int64_t max_offset) nestegg * ctx ; if ( ! ( io . read && io . seek && io . tell ) )  ctx = ne_alloc ( sizeof ( * ctx ) ); if ( ! ctx )  ctx -> io = ne_alloc ( sizeof ( * ctx -> io ) ); if ( ! ctx -> io )  nestegg_destroy ( ctx );  nestegg_destroy(nestegg * ctx) while ( ctx -> ancestor )  ne_ctx_pop ( ctx ); static ne_ctx_pop(nestegg * ctx) struct list_node * item ; item = ctx -> ancestor; free ( item ); 