Skip to Main Content
HCL Domino Ideas Portal

Welcome to the #dominoforever Product Ideas Forum! The place where you can submit product ideas and enhancement request. We encourage you to participate by voting on, commenting on, and creating new ideas. All new ideas will be evaluated by HCL Product Management & Engineering teams, and the next steps will be communicated. While not all submitted ideas will be executed upon, community feedback will play a key role in influencing which ideas are and when they will be implemented.

For more information and upcoming events around #dominoforever, please visit our Destination Domino Page

Status Under Consideration
Workspace Domino Designer
Created by Guest
Created on Aug 20, 2019

Add OSTranslate32 to the public Domino C API

The Domino C API currently only contains a method to convert between LMBCS and other text formats like Unicode that supports WORD buffer sizes (< 64K):

 

WORD LNPUBLIC OSTranslate(
WORD  TranslateMode,
const char far *In,
WORD  InLength,
char far *Out,
WORD  OutLength);

 

Since LMBCS is a multibyte character set, it's very difficult to translate longer texts with this method. You would need to scan the buffer content to not split multibyte sequences.

 

LMBCS format details are described here http://icu-project.org/~yoshito/jacoco_57.1/com.ibm.icu.charset/CharsetLMBCS.java.html. We tried to use this Java implementation,  but found out that lots of special characters are translated differently between OSTranslate and this class.

 

There seems to be a method OSTranslate32 in the C API with DWORD length support. Please add that method to the public C API as well.

 

Another useful thing would be if OSTranslate32 returned the required buffer size when OutLength=0 is passed, like Windows API functions do. This would prevent unnecessary memory allocations.

 

Karsten Lehmann, Mindoo GmbH

  • Attach files