XBinder v1.4.x Change Log
The current production release version of the XBinder compiler is 1.4.4. The following changes have been made since the last patch release (1.4.3):
- A #define is generated in the header file to define the total count of
the entries in an enumeration. (XBI-985)
- Some potential security issues are fixed. (XBI-980)
- OSXMLStringClass is fixed for potential memory leak issue.
- Fixed a bug in decoding contents containing LF ('\n')
- Fixed a bug in the GUI program, xbindergui,
in which the option "-all" is not added to the command line.
- Fixed a bug in run-time API rtxGetDateTime in which the returned
local time is not correctly calculted when timezone is present
in the OSNumDateTime structure.(XBI-896)(br />
- Fixed duplicated anyAttribute generated for complexContent
derived types. (XBI-834)
- Fixed rtxStreamMemoryGetBuffer() to return correct buffer
pointer when directBuffer is used. (XBI-833)
- Added two run-time functions rtxDateIsValid() and rtxTimeIsValid().
Added range checking on date/time component fields. (XBI-825)
- Added a #define for the max number of Choices in the generated
C header file. (XBI-819)
- Fixed a bug in the generated decode functions where the error stack
may be reset and some decoding errors may be lost. (XBI-818)
- Fixed a bug in the generated source files for namespace module.
The generated header file for namespace module was not included
in the corresponding c/cpp files that might cause compilation
- Added a method to relax namespace checking. To disable namespace
checking, the user need to call rtxCtxtSetFlag (pctxt, OSXMLNOCMPNS)
before calling decode. (XBI-802)
- Provided Visual Studio 2005 project files for building run-time
- Fixed a bug in OSXSDAnyTypeClass constructors in which setValue()
may crash since value.value is not initialized. (XBI-808)
The following changes were made between patch release 1.4.2 and 1.4.3:
- Fixed a bug in which code generated with -noxmlns was missing
types derived from xsd:anyType. (XBI-796)
- Fixed problems with circular references when import statements
did not include schemaLocation attribute (XBI-788)
- Fixed a bug in fragment code generation, in which some generated
functions use local variable 'elemName' that is not declared in
these functions. (XBI-788)
- Added an option -noNamedBits. This option enables using a regular
list for a list of enumerated types. By default, the generated code
creates a named bits structure because list of enumerated is
frequently used to cretae a set of properties. .(XBI-779)
- Fixed a bug in which an empty attribute is encoded. (XBI-793)
- Fixed bugs in C++ test code generation involving derived types.
- Improved constraint checking. Added more facet tests.
- Fixed a bug in which elements belonging to null namespace are
encoded under a (non-null) default namespace.
- Improved error handling on mandatory count in generated decode
functions. In normal mode, the error is pushed on the stack and
decoding continues; in lax mode, the mandatory count variable is
not checked. (XBI-743)
- Fixed memory leaks which were occurring on some decode failures.
- Fixed warnings generated by gcc compiler. (XBI-738)
- Added options -genMakeLib and -genMakeDLL. Option genMakeLib
generates code in makefile to put all objects into a static library.
Option genMakeDLL generates code in makefile to build a shared object.
The following changes were made between patch release 1.4.0 and 1.4.2:
- Fixed problem in detecting control characetrs in input stream.
- Fixed problem in decoding XML messages containing CRCRLF line
- Fixed incorrect append function generated on array type.
- Fixed macros defined in run-time header file osSysTypes.h.
- Fixed backward compatibility option (-compat 1.3) to generate
C++ code for derived types in the same way as it was done prior
to the 1.4 release. This model was to inherit from C++ base
classes that were declared as the base type in complexContent
extensions. (PR# XBI-654)
- Fixed memory free problem with repeating xsd:anyType element.
- Fixed compilation errors that occurred when trying to build
libraries from scratch using provided makefiles in a source code
distribution package. (XBI-667)
- Fixed a memory management error that would occur when using a
dynamic encode buffer and encoding a very large document in memory.
- Fixed a compilation error in the generated code that occurred when generateing code for the G2S gaming standards schemas with the -sax switch enabled. (XBI-659)