On Tue, Oct 7, 2014, at 16:48, Arthur David Olson wrote:
Back in the 1980s (when this code had its origins), NULL pointers weren't guaranteed to be all zeroes; having a static, otherwise unused structure (which was guaranteed to be initialized correctly) for initialization purposes was cheap portability insurance. (The insurance was taken out consistently, both for uniformity and to avoid problems if a pointer was added to a structure later.) Given updates to the C standard and waning interest in supporting old systems, this insurance may well no longer be needed.
Just to be clear, the updates to the C standard regarding this issue consist of allowing one to initialize a non-static structure with the literal "{0}", rather than anything about being able to memset pointers or floats.