Thank you for clarifying. Now I can see the concern on whether the whole bunch of things worth it; it's a trade-off between cleanness and robustness of the codebase and it's very common due to some coding conventions (e.g. error handling) in C. Maybe in this case we should just leave the working code work. Now I'd like to ask for your advice on this issue, which I may be supposed to do before sending any actual patches, should I push forward this patchset further or pick another microproject? Thanks.