Major rewrites; the original epicsStrnRawFromEscaped() could read
beyond the end of the input buffer if the input count ended in the
middle of an octal or hex escape sequence. Zero termination did not
always match the return count, and hex escapes were always 2 digits,
contrary to the C standard.
New versions don't use epicsSnprintf() or sscanf() for hex and octal
conversions, so should be slightly faster.
Added 81 new tests to check the above issues.
VxWorks 6.9 deprecated several symFindBy...() routines, which
result in warning messages at build-time. I rewrote the code
that uses these to use the newer API on VxWorks 6.9.
Also deprecated the two epicsDynLink.h symFindByNameEPICS()
and symFindByNameAndTypeEPICS() routines; epicsFindSymbol() in
epicsFindSymbol.h is now available on most platforms instead.
Change menuGlobal.dbd and stdRecords.dbd to be generated
as a list of unexpanded include statements, not expanded
out as they have been recently on this branch. This means
any .dbd.pod files in those lists don't have to have been
filtered to remove the POD statements which significantly
simplifies the dependency graph. I had experienced build
loops at times, which this change should prevent.
An array field with a maximum size of 1 element would not be
treated as an array, so the record's rset::get_array_info()
routine wasn't being called. Fixed in dbAccess for both
dbGet() and dbPut() operations, and in dbEvent for monitors.
Fixes lp:1389298
* Removed /favor:blend from ARCH_DEP_CPPFLAGS
It is the default anyway, and including it stops the
MS Express compilers from building 64-bit executables.
* Added a CONFIG_SITE.Common.windows-x64-static file.
The MSVS 2010 linker crashes when when generating code
for this target with HOST_OPT = YES, so make it NO.
iocShutdown() should only stop threads and cleanup
if the IOC was started with iocBuildIsolated().
If iocBuild() is used then only close CA links
as was done previously.
This is needed as some device support calls epicsExit()
(while holding a record lock). This make it impossible
to run the full iocShutdown without deadlocking
in scan/callback shutdown, or segfaulting
in doFreeRecord() or dbLockCleanupRecords()
* Removed broken Windows source browser rules and 'browse' targets
* Fixed parallel build issue for Make > 3.81
* Other tidying-up in RULES_ARCHS
* Fix the RTEMS override of the ECHO variable
* Move including menuScan.dbd from menuGlobal.dbd to base.dbd.
Menus included in menuGlobal.dbd can't be overridden at build
time since it gets fully expanded before installation.
* Convert .dbd.pod files before generating menuGlobal.dbd.d
* Remove menuCompress.dbd, nothing in Base uses it any more.
The compress record has its own compressALG menu