Two changes are to avoid never-true checks that a local array is not a
null pointer; two changes are to the length arguments of memset/memcpy.
(The MD5 change is just for cleaning up; the parser change should only
affect systems where sizeof(long) != sizeof(struct ListenerFlags*), but
that is not true of any system that is likely to run ircu2.)