___ ___ _ _ ___ ___ ___ ___ _ ___ _ _ ______ _______________ _________ |_, |== |\| |== |-< |-| | | [_] |\| __/_/_______ _____ ___/__(_)_____________ ____/____________ ___________________________ _______ /__ ____ /_ ___ /__ ___/ _ \ / _ __ \_ __ `__ \ __ \ __ \_ __ \ _ \_ __ \ __/ ___ __/ __ / _ / / __/ /___ / /_/ / / / / / / /_/ / /_/ / / / / __/ / / / /_ /_/ /_/ /_/ \___/\____/ \____//_/ /_/ /_/_/ __/\____//_/ /_/\___//_/ /_/\__/ (c) Lada 'Ray' Lostak (c) Orcave (c) 1996-2004 Legend: [date] : coment (release, ...) % major feature adding + feature adding > improvment = major/important bugfix - bugfix ! interface changed - adding only, minor version was updated * interface changed - function names, parametres, major version update -> source recompile required additionals: [WIN] - windoze only related [2005-03-20] % Started Kju > 'source tree' dance (FcXml remaded back to Xixit :) [2005-03-10] + real unicode support (UTF8 UTF16 UTF32) + new codepages + converts & direct upgrading datas from unicode.org [2004-10-02] > Xixit moved into FC, renamed to FcXml [2003-11-16] > text stream divided into 'stream' and memory format text functions > general string functions (e.g. fcsmkansi etc.) renamed to 'str*' and coresponding to 'fcs/ans' [2003-10-21] % added buffer lengths to ALL string and filesystem functions/interfaces > return values of string functions returns 'error code' not 'destination string' - various local buffer overflows accross whole libraries due adding buffer lengths - various local buffer overflows in fcsPrintEx/fcsPrintExArg [2003-06-18] + PE loader now returns section memory pointer, if module loaded (caller have to care about releasing library by itself) = while attaching virtual stream to physical stream with related seek root, current position was changed to 2*start instead start (0 from vstream p.o.v.) - FC resource locker uses 'size in file' instead of RAW size for resource section - [WIN] file stream doesn't call properly Clone (incorect system path flag used) - string list after commit read overwrites 'loaded' strings (strAdd required properly sets LastFreeIds) [2003-03-04] - some 'detach' style function changed error code to 'OK' state (removed, they only return) - fixed error code remebering (sma error can be remeberd more times to one slot, even it is negative) - while attaching to NULL datas arrayManager doesn't properly initialize alloc step (-> bad memory operations after writing new items) [2003-02-23] ! added features to fcStrCommandLine [2003-02-07] ! added strPush/strPop at fcStrStringList * changed fcDump* dumping objects [2002-11-06] = asmI32_InterlockedCompareAndExchange changes EBX register, even it have __cdecl calling convention. this causes various access violation or other fall downs at totally different parts (like EnumWindows ansi wrapper for example) [2002-11-01] % memory heap is thread-safe % console output is thread safe = thread manager was isnstable during releasing, due low level thread releasing troubles - [WIN] low level 'get current thread' doesn't work before initialization was done and cause problems with call ansi versions of API's - self tests-heap moves 'realoc' blocks after first realloc to 'alloc/free' only [2002-10-07] = some race conditions in sync objects (fully remaded, including 'sysdep' part), speed increasing [2002-09-30] > performance increase with event/semaphore/critical_section = mutex sync object doesn't relocate owning to wait thread ! fcThreadList::thlTest - test if given thread present in wait queue [2002-09-25] % sync objects were storing stack-related pointers to lists - it causes hang up sometimes + new/delete operator debug pair test now shows real source file/line, not 'FcMemory.h' + object queue with priority - fcMemObjQueue - Mutex mtxRelease doesn't call 'Release' to itselfs and causes component leacks ! fcThreadList allows storing 'user datas' not only pointer * fcThreadList [2002-09-24] + added memory tests = internal thread 'OpenId' remaded to thread table index, because 'get current thread' doesn't work properly = mutex sncWaitFor keeps guard in 'wait' state -> deadlocks = all sync objects shoudl fall down if immediateely after 'wait' was called its 'release' - they do not addref/release themself before resuming waiting threads = on single-cpu machines thread never starts at some conditions - attach to current thread fall down at some conditions (mainly OpenId realted) - typos in fcStrConFile methods - language mistakes [2002-08-12] : started history track finally + created history fix/feature log - ANSI console output render under NT fixed (national chars/frames)