2008.12.17 20:54 "[Tiff] Deleting tags from a directory", by Frank Warmerdam

2009.02.06 13:57 "Re: [Tiff] assertions, and building with DEBUG/NDEBUG", by Edward Lam

I'd say drop the use of assert in most places and just forget NDEBUG exists is probably the best approach for libtiff. Libraries generally shouldn't terminate their calling process without a very good reason. We can't possibly know what data loss may occur if we don't let the caller do a managed shutdown of their own stuff.

I don't think your arguments necessarily exclude the use of assert()-type mechanisms in libtiff. It just means that libtiff should have its own assert mechanism that is tailored specifically for its requirements. I like Philip Crew's idea of having a custom assert() mechanism that can be tailored (possibly at runtime?) to produce different behaviours such as generating internal errors, producing logs, etc.

-Edward