Files
harbour-core/contrib/hbct
Przemysław Czerpak 49a289a1a3 2020-03-24 23:34 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* 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
2020-03-24 23:34:35 +01:00
..

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