Fixed potential buffer overflow bugs in oe_ei_encode_long/ulong/longlong/ulonglong functions on 64-bit architectures. These functions expect 32 bit integers as the IDL type "long" is defined as 32 bits. But there is nothing preventing user code from "breaking" the interface and pass larger values on 64-bit architectures where the C type "long" is 64 bits.
Own Id: OTP-15179 Aux Id: ERIERL-208
Fixed bug in
Own Id: OTP-15160 Aux Id: ERIERL-191
Optimize encoding/decoding for pure 7-bit ascii atoms.
Own Id: OTP-15023 Aux Id: ERIERL-150
Removed all old unused files in the documentation.
Own Id: OTP-14475 Aux Id: ERL-409, PR-1493
Correct bugs when path to mib or idl spec files contains UTF-8 characters.
Own Id: OTP-13718 Aux Id: ERL-179
Update build scripts to not make assumtions about where env, cp and perl are located.
Own Id: OTP-13800
Internal changes
Own Id: OTP-13551
Change license text from Erlang Public License to Apache Public License v2
Own Id: OTP-12845
Fix compiler warnings reported by LLVM
Own Id: OTP-12138
Added Latin-1 code directive in the generated files to keep old behaviour. Updated IC so it can handle Unicode characters in the path.
Own Id: OTP-11783
Fix two small silent rules omissions. Thanks to Anthony Ramine.
Own Id: OTP-11351
Silence warnings (Thanks to Anthony Ramine)
Own Id: OTP-11517
Header and library files from ic and erl_interface are now installed into usr/{include,lib}. Note that these directories are unversioned, so the latest installed version will be the one in the directory.
Own Id: OTP-11284
Fixed some compilation warnings on miscellaneous platforms. Thanks to Anthony Ramine.
Own Id: OTP-11086
Revert the structs
Own Id: OTP-10885 Aux Id: seq12256
Misc build updates
Own Id: OTP-10784
Adapt ic for changes in erl_interface and jinterface due to utf8 atom support. This change makes ic dependent on erl_interface-3.7.10 (R16) or later in order to build.
Own Id: OTP-10785
Fix bug where the ic pre-processor would ignore whitespace quoting.
Own Id: OTP-10109
A bug regarding spaces in C function prototypes has been fixed. (Thanks to Richard O'Keefe.)
Own Id: OTP-10138
Add generation of Erlang callback functions to generated Erlang source code to avoid compiler warnings.
Own Id: OTP-9998
Erlang/OTP can now be built using parallel make if you
limit the number of jobs, for instance using '
Own Id: OTP-9451
Incorrect use of ets:match changed to ets:match_object.
Own Id: OTP-9630
Reduced compile overhead (Thanks to Haitao Li).
Own Id: OTP-9460
Partial support for recursive structs and unions. Only available for the erl_corba backend and requires that Light IFR is used. I.e. the IC option {light_ifr, true} and that Orber is configured in such a way that Light IFR is activated. Recursive TypeCode is currently not supported.
Own Id: OTP-8868 Aux Id: seq11633
The documentation can now be built and installed without Java.
Own Id: OTP-8639 Aux Id:
Removed superfluous VT in the documentation.
Own id: OTP-8353 Aux Id:
The option c_timeout was not correctly documented.
Own id: OTP-8307 Aux Id: seq11390
Removed superfluous backslash in the documentation.
Own id: OTP-8354 Aux Id:
The documentation EIX file was not generated.
Own id: OTP-8355 Aux Id:
The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed.
Own Id: OTP-8201 Aux Id:
The 64-bit version of libic was not compiled with the -fPIC flag.
Own id: OTP-8088
The function print_erlang_binary (oe_ei_code_erlang_binary.c) updated to avoid compiler warning.
Own id: OTP-7982
Updated file headers.
Own id: OTP-7837
Documentation source included in open source releases.
Own id: OTP-7595
Insufficient buffer allocated when passing wide strings using the C backend on a 64-bit architecture.
Own Id: OTP-7313 Aux Id:
Updated file headers.
Own id: OTP-7011
IC no longer use the obsolete function file:rawopen/2.
Own id: OTP-7182
Added links to classes inherited from Jinterface in the User's Guide.
Own Id: OTP-6965 Aux Id:
If an inherited function name begun with a capital letter the generated stub/skeleton oe_tc/1 function was incorrect.
Own Id: OTP-6855 Aux Id:
The documentation source has been converted from SGML to XML.
Own Id: OTP-6754 Aux Id:
Minor Makefile changes.
Own Id: OTP-6701 Aux Id:
Dead code was deleted from the following modules: ic_cclient, ic_code, ic_cserver, ic_erlbe, ic_java_type, ic_noc, ic_plainbe, ic_pp, ic_pragma, icscan, icstruct, ictype, icunion.
Changed code generation to avoid warnings such as unused variables.
Own Id: OTP-5930 Aux Id:
The FD_SETSIZE limit has been increased to 2048 for VxWorks/PPC603.
Own Id: OTP-5395 Aux Id: seq9751
In C back-ends, the compiler crashed when generating C code for error reports when a scoped name was used as a type in a union.
Own Id: OTP-5375 Aux Id: seq9740
In C back-ends, when decoding a sequence of "small" integers, which from Erlang is sent as a string (i.e. each element between 0 and 255), each string element was considered to be of signed character type. Each such element is now correctly treated as an unsigned character type.
Own Id: OTP-5205 Aux Id: seq9241
A new compiler option
Own Id: OTP-4977
The size of modules, used then registering data in the IFR DB (e.g., oe_MyModule:oe_register()), can be minimized if the compile option light_ifr is used and Orber is configured to use Light IFR. Requires that orber-3.5.1, or later, is used.
Own Id: OTP-5036
The compile option
Own Id: OTP-5049
Send and receive functions with timeouts have been added to the C back-ends for the standard protocol (i.e. Erlang distribution + gen_server protocol).
Accordingly a new compiler option
A user that want to implement its own protocols with function timeouts has to implement the following functions.
For C clients the functions
For C servers no additional functions have to be
implemented, but a clone of the
Own Id: OTP-4972
The C back-ends has been opened up, so that a user can
define his own protocol, differing from the Erlang
distribution + gen_server protocol.
For C clients it means to replace the library functions
The new compiler option
Own Id: OTP-4834
In generated code for the C server back-end, the naming scope was in error for prototypes in C header files for interfaces inheriting base interfaces.
Own Id: OTP-4881
IDL long long and unsigned long long could not be used in a struct for the Java backend.
All unsigned integer types for the Java backend had broken marshalling for large values.
Own Id: OTP-4763
A scoping problem (IC could not find typedefs contained inherited interfaces) in the C-backend solved.
Own Id: OTP-4758
The CORBA stub/skeleton-files generated by IC have been improved, i.e., depending on the IDL-files, reduced the size of the erl- and beam-files and decreased dependencies off Orber's Interface Repository. It is necessary to re-compile all IDL-files and use COS-applications, including Orber, compiled with IC-4.2.
Own Id: OTP-4576