(Don't care about code internals?  Stop reading now.)

In some of the recent cleanups, I've come face to face with struct
TwmWindow and its many contents.  More to the point, how we store and
use a window's name.  We read the WM_NAME property, and we store it in
TwmWindow->name.  So far, perfectly sensible.

But then we also store it in TwmWindow->full_name.  By "it", I don't
mean a copy of the value; they both point to the same string.  Then in
much of the code, we read full_name for stuff, except the places where
we use ->name.

I don't have a good explanation for why we have both of 'em, and that
they're just duplicate pointers makes things even weirder.  My only
real guess is that it's an attempt to allow a pristine and munged
values to both be around (some old code that was never enabled by
default that did some of the latter was recently removed), but since
they're the same pointer that couldn't have ever done anything anyway.

Does anybody have a better idea of the history behind it, or a better
guess as to why it's there?  Or rather, can anybody come up with a
good reason why I shouldn't just get rid of full_name wholesale and
just use name everywhere for the name?


-- 
Matthew Fuller     (MF4839)   |  [email protected]
Systems/Network Administrator |  http://www.over-yonder.net/~fullermd/
           On the Internet, nobody can hear you scream.

Reply via email to