Listing 3

// Implementation for ORJ_ReadDatabaseA_chdl()

EXPORTCH ORJRC ORJ_ReadDatabaseA_chdl(void *arg_)
{
  va_list             ap;
  ORJRC               retVal;
  char const          *jarName;
  IORJAllocator       *ator;
  unsigned            flags;
  ORJDatabaseA const  **pdatabase;
  ORJError            *error;

  Ch_VaStart(ap, arg_);

  jarName   = Ch_VaArg(ap, char const*);
  ator      = Ch_VaArg(ap, IORJAllocator*);
  flags     = Ch_VaArg(ap, unsigned);
  pdatabase = Ch_VaArg(ap, ORJDatabaseA const**);
  error     = Ch_VaArg(ap, ORJError*);

  Ch_VaEnd(ap);

  retVal = ORJ_ReadDatabaseA(jarName, ator, flags, pdatabase, error);
  return retVal;
}