Hi Roy, thanks for reporting this. I believe the bug may occur on platforms whereints are 32 bit and pointers are 64 bits so the upper 32 bits of the difference
are ignored. Fixed in *SVN 1982*.
Talking about running GNU APL on the public internet please consider the security chapter in the attached report from Claude Code. Even though it is correct that *⎕FIO* and friends are insecure, I believe that the (insecure) default is the proper choice for almost every normal user and that only GNU APL instances connected to the internet (like *trygnuapl*) should disable it. And many thanks to Blake McBride who had kindly pointed me at Claude Code. Best Regards, Jürgen On 4/19/26 17:46, Roy Tobin wrote:
Hi, New code in GNU APL svn1946 of Jan 2026: /// compare function for bsearch() static int compare(const Value * const & key, const _val_par & B, const void *) { return int64_t(key) - int64_t(B._val); } Has a portability bug that manifests on some architectures. I found itwhen integrating post-svn1945 for trygnuapl.github.io <http://trygnuapl.github.io>. C/C++ coders maywant to see if they can spot anything amiss. The bug hunt story, bug explanation, and my solution are here: https://gist.github.com/roytobin/7b06f28a4acc9fbca103168807e49535
apl_analysis_report.docx
Description: MS-Word 2007 document
