Hacker News new | ask | show | jobs
by heftig 457 days ago
I think the implication was that they're pointers to objects that own resources (like containing FILE handles) and need to be "freed" with a custom function, not just "free".

    void my_thing_free(MyThing *thing) {
        fclose(thing->file);
        free(thing);
    }
assuming an associated "my_thing_new" that only returns a valid pointer when both the allocation and the fopen succeeded.