src/grib_accessor.c
/* For this one, ALL destroy are called */
For this one, ALL destroy are called
For this one ALL destroy are called
void grib_accessor_delete(grib_context* ct, grib_accessor* a)
{
    grib_accessor_class* c = a->cclass;
    while (c) {
        grib_accessor_class* s = c->super ? *(c->super) : NULL;
        if (c->destroy) {
            c->destroy(ct, a);
        }
        c = s;
    }
    grib_context_free(ct, a);
}
void grib_accessor_delete ( grib_context * ct , grib_accessor * a ) { grib_accessor_class * c = a -> cclass ; while ( c ) { grib_accessor_class * s = c -> super ? * ( c -> super ) : NULL ; if ( c -> destroy ) { c -> destroy ( ct , a ) ; } c = s ; } grib_context_free ( ct , a ) ; }
For this one, ALL destroy are called
For this one ALL destroy are called
/*printf("grib_accessor_delete: before destroy a=%p c->name=%s ==> a->name=%s\n", (void*)a, c->name, a->name);*/ /*printf("grib_accessor_delete before free a=%p\n", (void*)a);*/