fix gcc 4.2.1 warning: initialized field overwritten