In version 1.15, I fixed a bug but introduced a worse one. It went unnoticed for more than two years, but fbudf has memory problem when dealing with varchars due to a silly change in the vary struct definition.
I think these h and cpp can be copied safely from the HEAD to FB2.0.
- add to fbudf project the files timestamp.cpp and timestamp.h
- for the same project, define FBUDF_EXPORTS as preprocessor macro
- for the firebird2 workspace/solution/make/etc get rid of the dependency of fbudf on fbclient. Build files that I indentified that need fixes are:
builds\posix\Makefile.in.client.fbudf
builds\posix\Makefile.in.embed.fbudf
builds\win32\msvc7\fbudf.vcproj
builds\win32\msvc7\Firebird2.sln
MacOs build files ignore fbudf completely.
This change eliminates the problem with the client library having different names depending on the build type (SS, CS, embedded).
- Functions that use an output argument shouldn't return anything.
- Signal null output blob if the engine understands it.
- Make input parameter const except in some cases where the library plays with input params using internal engine knowledge (not recommended for general usage).
placed some variables in context
fixed some function signatures
closed a few possible buffer overruns
sorry to the platform maintainers, I can't verify what I did for non-Win32 builds
o use predefined macros to test for sys/wait.h, time.h and sys/time.h
o search strcasecmp in libresolv only if strcasecmp and stricmp are not in libc
o use predefined macro AC_SYS_LARGEFILE to determine 64Bit I/O
o determine the alignment of long and double (ALIGNMENT,DOUBLE_ALIGN),
still need to write a test for FB_ALIGN!
o check for the availability in configure
o check for the number of arguments in configure
o synchronised config.h.in and MSVC pendant
NOTE: If you have problems on your system, don't change the source.
Extend the tests in configure.in!!!