<div dir="ltr">Yeah, all of these are worth fixing. The trick is, after fixing all of them, we need to test and<div>make sure no new bugs were introduced and this is tricky.</div><div><br></div><div>The fixes need to be standards-compliant and system-independent (even though 32-bit</div><div>platforms are pretty much going away . . .) getting this exactly right can be challenging.</div><div><br></div><div>-tom</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Oct 26, 2019 at 12:11 PM Doug McKenna <<a href="mailto:doug@mathemaesthetics.com">doug@mathemaesthetics.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">After a successful port of the kpsewhich tool and the kpathsea source code to XCode's IDE, the compiler tells me that there are about 40 places in the source files where there are assignments of 64-bit (typically size_t) integers to local variables of type |int| or |unsigned|, which are both 32-bit. 30 of these instances involve assigning the result of strlen() to an unsigned int. Most of the rest involve passing pointer expressions to subroutines that take ints. A couple of final warnings are where system library routines delivers ssize_t answers, assigned to ints, or size_t answers assigned to unsigned.<br>
<br>
Each represents a formal loss of precision, but of course we all know that no path string is ever going to breach a signed |int| in length, so in practice, nothing bad happens.<br>
<br>
I'm happy to take the time to report the exact positions of where these warnings are and how I've adjusted my ported code to make them all go away. But I don't really know what other official TeX utility maintainers' policy is on the subject, because it involves overriding the compiler with casts in most cases, which is (again, formally) not a good thing to do.<br>
<br>
<br>
Doug McKenna<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>-- <a href="http://cube20.org/" target="_blank">http://cube20.org/</a> -- <a href="http://golly.sf.net/" target="_blank">http://golly.sf.net/</a> --</div></div></div></div></div>