2014-11-04 01:54 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* ChangeLog.txt
* doc/xhb-diff.txt
! typos
* doc/clipper.txt
! removed completely false information about 'LIST &cMacro'
* updated information about FOR EACH
; in general information in this file are outdated and does not
correctly describe current Harbour behavior. I strongly suggest
to not use it in any other documentation. In some spare time
I'll update this file or remove.
* doc/cmpopt.txt
+ added information about unsupported by Clipper syntax extension:
iif( <expr1>, <expr2>, <expr3> ) <op>= <expr4>
* include/hbrddnsx.h
* minor modification in comment
* src/macro/macrolex.c
* accept unconditionally hash 'key => value' operator
* src/rdd/dbfnsx/dbfnsx1.c
! fixed very bad bug in leaf key compression. This problem could be
exploited by keys containing containing CHR( 255 ) in encoded keys
just before trailing empty key characters.
This bug could cause index corruption.
* use hb_xgrabz()
* formatting
This commit is contained in:
@@ -335,11 +335,11 @@ typedef struct _NSXLEAFKEY
|
||||
* if Size == n + 1 then key is fully duplicated
|
||||
*/
|
||||
HB_UCHAR DupCount[1]; /* number of bytes from previous key */
|
||||
HB_UCHAR KeyData[l]; /* rest of key value with RLE compression:
|
||||
HB_UCHAR KeyData[m]; /* rest of key value with RLE compression:
|
||||
* FF xx yy => Replicate(yy, xx)
|
||||
* FF 01 => FF
|
||||
* l = Size - n - 2
|
||||
* if l == KEY_SIZE - DupCount then key value
|
||||
* m = Size - n - 2
|
||||
* if m == KEY_SIZE - DupCount then key value
|
||||
* is stored as raw data and can be copied as is
|
||||
* if after decompression size of key value is
|
||||
* smaller then KEY_SIZE then rest if filled with
|
||||
|
||||
Reference in New Issue
Block a user