Dear Werner, Sorry for my lated action to Win64 homework, now I'm working for... During the fix work, I think about a possibility to improve the coding style to clarify why some kludges (looking like unneeded) are inserted. For example,
ft_internal_function(unsigned long arg) { ... } FT_Error FT_Function(long int arg) { /* * public API takes signed arg, * but working function takes unsigned arg */ if (arg < 0) return FT_Err_Invalid_Argument; ft_internal_function((unsigned long) arg); } In such case, I want to write as: ft_internal_function(unsigned long ularg) { ... } FT_Error FT_Function(long int slarg) { FT_Err err; /* * public API takes signed arg, * but working function takes unsigned arg */ if (slarg < 0) return FT_Err_Invalid_Argument; ft_internal_function((unsigned long)slarg); } I guess, the requirement of such kludges are originally caused by the unexpected mismatched types in public interface and the internal procedure. Although we have to keep API compatibility, it is expected that the mismatches would be removed in the future version after incompatible big changes. The purposes of my proposal is the clarification "from which type to which type". The cast is for the sign matching? or for the size matching? If I put such changes to .c sources only, they would not bother documentation. But the mismatched variable names between .h and .c could be confusing for some developers. Werner, could you give some comments? Regards, mpsuzuki _______________________________________________ Freetype-devel mailing list Freetype-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/freetype-devel