On Wed, 2011-11-16 at 21:05 -0500, Andrew Douglas Pitonyak wrote:
> >> I would feel safer if pointers were set to NULL (or nullptr if we
> >> support C++11) since it is not safe to delete a pointer twice.
> > ?, convert all delete to e.g. DELETEZ, i.e. delete foo, foo = NULL ?
> > Wouldn't be a fan of that, c++ is the language that it is, need to live
> > with that and not try and make it something that it isn't.
>
> Setting a pointer to NULL after deleting the contents of the pointer is 
> safe so that if you go to delete it again it is not a problem.

        Sure, it would be somewhat safer for some minority of cases. However
the DELETEZ macro looks hyper-ugly in the code and makes it less
readable. Hopefully we mostly delete things in destructors - where
DELETEZ is a waste of time - we can have our (sadly) custom allocator
wipe or invalidate the memory post delete in a single line of code if we
want to (actually we should prolly do that as an easy-hack if it is not
there already ;-).

        If we have a bug whereby something is deleted in-the code without being
re-assigned, and where NULL is a valid value, then we could fix those
with a DELETEZ construct, but - finding those places (that don't already
have a subsequent assignment) is prolly more exciting :-) In theory some
code analysis framework could help find those guys.

        Does that give more detail ?

        Anyhow, thanks for your nice code cleanup ! it's nice to see.

        All the best,

                Michael.

-- 
michael.me...@suse.com  <><, Pseudo Engineer, itinerant idiot

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to