* config/linux/clang.mk
! fixed rule for dynamic library
* src/3rd/png/Makefile
+ added -DPNG_ARM_NEON_OPT=0 to build flags
* contrib/3rd/sqlite3/sqlite3.c
* contrib/3rd/sqlite3/sqlite3.diff
! pacified warning
* contrib/gtwvg/gtwvgd.c
* contrib/gtwvg/wvgwing.c
! fixed missing break/return in case statements - please verify it.
* contrib/hbct/dattime3.c
* added #define _DEFAULT_SOURCE necessay in new Linux distors
* contrib/hblzf/3rd/liblzf/liblzf.diff
* contrib/hblzf/3rd/liblzf/lzfP.h
* do not use nested #define in #if statements - some C compilers do not
support it
* contrib/hbssl/bio.c
! tuned #if condition
* contrib/hbmisc/hbeditc.c
* simpliefied for condition and pacified warning
* contrib/hbodbc/hbodbc.hbp
* contrib/sddodbc/sddodbc.hbp
+ added check for iodbc library
* utils/hbmk2/hbmk2.prg
+ added support for clang in android builds
* include/hbdefs.h
+ added check for __BYTE_ORDER__ macro used in some new lib C
implementations
* include/hbapi.h
* include/hbdefs.h
* include/hbstack.h
* include/hbvmpub.h
* src/vm/classes.c
* src/vm/dynsym.c
* src/vm/estack.c
* src/vm/memvars.c
+ extended the size of dynamic symbol table from 65535 to 4294967295.
Adopting class code I decided to keep current algorithm of method indexes
hashing with only some minor modifications. It's very fast anyhow it may
cause noticeable (though static) quite big memory allocation for class
definitions in applications using millions of symbols and which increase
dynamic symbol table at runtime loading new classes dynamically form .hrb,
.dll, .so or other dynamic libraries supported by Harbour. It's random
and rather impossible to exploit situation in real life anyhow I cannot
exclude it so I'd like to report it in ChangeLog. The solution is very
simple, i.e. it's enough to use classic divide et impera algorithm using
symbol numbers to find method definition anyhow it will be slower then
current one and address only very seldom hypothetical situations so I
decided to not implement it. Such static memory cost begins to be
completely unimportant in the world of 64-bit architectures and extremely
big memory address space.
The modification was sponsored by TRES company.
* src/vm/estack.c
! fixed __mvClear() in MT builds - due to stupid typo GetList variable
was removed in MT programs by CLEAR MEMORY command (__mvClear())
So far noone reported it and I've found it analyzing the code before
increasing symbol table size.
* contrib/hbwin/hbolesrv.c
* updated for new size of dynamic symbol table
CA-T**ls Compatible Library for Harbour
=======================================
The goal of this library is to provide the functionality
of the original CA-T**ls 3 Library for CA-Cl*pper.
Viktor Szakats (vszakats.net/harbour)
Directories: ./ contains all the source files, include files, make files
and the general text files (like tthe one you are just
reading !),
tests contains some test programs for the functions implemented
in the CT3 library,
alt contains alternative function implementations (not
all are complete, be aware !), mostly in
Harbour, if the function is implemented in C and vice
versa.
Changes and Enhancements over the original CA-T**ls 3 Library
Martin Vogel <vogel@inttec.de>
=============================================================
* AddAscii() New 4th parameter to enable a carry over in the addition
process
* AtRepl() New 6th parameter to specify characters to be ignored
* AtToken() New 4th parameter to specify a skip width equal to the
Token() function
+ CharHist() generates a character histogram of a string
+ CharRll() bitwise roll to the left operation on characters
+ CharRlr() bitwise roll to the right operation on characters
+ CharShl() bitwise shift left operation on characters
+ CharShr() bitwise shift right operation on characters
+ CharSList() generates a sorted character list of a string
+ CharSub() subtracts corresponding ASCII values
+ Cosh() hyperbolic cosine
+ CSetArgErr() set behaviour on argument errors
+ ctinit() library init function
+ ctexit() library exit function
+ DaysInMonth() Returns the number of days in month
+ DaysToMonth() Total number of days from first of Jan to beginning of nMonth.
* SetAtLike() 2nd parameter can be passed by reference so that SETATLIKE
can store the acutal wildcard character in it
+ Sinh() hyperbolic sine
* TabPack() new 4th, 5th and 6th parameter to let one set the carriage-return-line-feed string,
* TabExpand() the tab character and the hb_BChar( 141 )[soft line feed] behaviour
+ Tanh() hyperbolic tangent
* Token() New 5th and 6th parameter where the function can store
the tokenizer before and after the extracted token.
* TokenInit() all incremental tokenizer functions
TokenInit(),TokenExit(),TokenNext(),TokenNum(),
TokenAt(),SaveToken(),RestToken(),TokenEnd()
now support locally stored token environments
+ TokenExit() new function related to TOKENINIT
+ TokenNum() NumToken() functionality for incremental tokenizer
* TokenLower() New 4th parameter <nSkipWidth>
* TokenUpper() New 4th parameter <nSkipWidth>
* Week() New 2nd parameter <lSWN>; Week() function can either return
"simple week number" of week number defined by ISO 6801
+ WordRem() remove double characters from a string