You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Together with core dev we tracked down an issue in our large text list support in 12.0.2 where we had to use a Java char instead of a Java short to work with unsigned C WORD values, here the textSize passed to ListAddEntry2Ext:
inti=0;
for (StringcurrStr : strList) {
MemorycurrStrMem = NotesStringUtils.toLMBCS(currStr, false);
if (currStrMem.size() > 65535) {
thrownewDominoException(MessageFormat.format("List item at position {0} exceeds max lengths of 65535 bytes", i));
}
//somehow these two lines produce different results for the ListAddEntry2Ext call with text lengths >32767 bytes//leading to an error "Insufficient memory" in macOS when using a short//short textSize = (short) (currStrMem==null ? 0 : (currStrMem.size() & 0xffff));chartextSize = (char) currStrMem.size();
shortaddResult = capi1201.ListAddEntry2Ext(hList,
false,
retListSize,
(short) (i & 0xffff),
currStrMem,
textSize,
true);
NotesErrorUtils.checkResult(addResult);
i++;
}
Together with core dev we tracked down an issue in our large text list support in 12.0.2 where we had to use a Java char instead of a Java short to work with unsigned C WORD values, here the textSize passed to ListAddEntry2Ext:
ListAddEntry2Ext is declared like this:
To avoid similar issues we should replace all Java shorts in the JNX codebase that are used as unsigned WORD values with a Java char.
The text was updated successfully, but these errors were encountered: