Product Documentation

FairCom ISAM for C

Previous Topic

Next Topic


ctUPDATICU() allows a user to update the Unicode version stored in the resource of their files.


NINT ctUpdateICUversion(pTEXT filnam,pTEXT fileword)

NINT ctUPDATICU(pTEXT filnam,pTEXT fileword)


ISAM function


ctUPDATICU() takes the name of a data file containing IFIL resources and an optional password and attempts to open the file and associated indexes exclusively, skipping the ICU version check. If the open succeeds, then the data file and associated indexes have their UNICODE resource version changed to agree with the current ICU library version, and indexes that reference the ICU resources are marked for rebuild.

  • filenam is the name of the file to update
  • fileword is the file password assigned, NULL if not assigned

Return Values

ctUPDATICU() returns NO_ERROR (0) if the files are opened successfully, and no ICU version mismatch is found.


Symbolic Constant




One or more ICU resources had versions updated, but no index was found that used ICU segments.



ICU version updates, and one or more indices marked for rebuild.

See FairCom DB Error Codes for a complete listing of valid FairCom DB error values.


#include ctreep.h

NINT rc = 0;

char[255] filename;

strncpy(filename, "mydata.dat", 10);

/* Initialize FairCom DB */

rc = (InitISAMXtd(16, 16, 16, 16, 0, "ADMIN", "ADMIN", "FAIRCOMS"))

if (rc)

printf("ctree failed to initialize with error %d", rc);

/* block the data file mydata.dat and associated indexes */

rc = ctUPDTICU(filename, NULL);

if (rc) {

printf("ctUPDTICU returned with with condition %d", filename, rc);

/* If ICUV_REB, then the indexes require rebuild */

if (ICUV_REB == rc)

printf("One or more indexes marked for rebuild.\n");