Hi, This is the integration of my SHLWAPI changes from the last few months. There are several new files as a reult of this patch, mostly seperating out related functionality to keep ordinal.c in check. The restructuring along with the commenting might help anyone else who wants to hack on this code further get started. I've also converted some unit tests from my test program, but there are more to come. License: X11. Cheers, Jon Changelog: Jon Griffiths (jon_p_griffiths@yahoo.com) +include/shlwapi.h Fix StrChrIA,StrFormatByteSizeW Add StrFormatByteSize64A, StrFormatKBSizeA/W. +dlls/shlwapi/wsprintf.c dlls/user/wsprintf.c Add support for decimal double (%f) format specifier +dlls/shlwapi/Makefile.in Add new implementation files to the build +dlls/shlwapi/ordinal.h Declare functions we call internally. Rename UNKNOWN_SHLWAPI_1/2, add some undocumented types +dlls/shlwapi/ordinal.c move GUIDs for @174 into the function where they are used Call implemented functions from ordinal entrypoints. Document a bunch of functions Add @12,13 +dlls/shlwapi/path.c PathAppendA/W: Don't skip "\\" if path to append is UNC. PathCompactPathExA/W: Implement, document and test. PathIsContentType/PathSearchAndQualify: Fix documentation. PathGetCharTypeW: Correct for all possible inputs. +dlls/shlwapi/shlwapi.spec Add entries for all newly implemented functions Fix formatting +dlls/shlwapi/shlwapi_main.c Add a module handle for ole32 late calls. Add a flag for whether our OS is natively Unicode (NT+). +dlls/shlwapi/string.c Implement StrRStrIA/W, SHStrDupA/W, StrSpnA/W, StrCSpnIA/W, StrChrIA/W, StrRChrIA/W, StrPBrkA/W, StrNCatA/W, StrFormatByteSize64A, StrFormatKBSizeA/W, StrFromTimeIntervalA/W, StrIsIntlEqualA/W Re-implement/fix and test 25+ other string functions Document all implemented string functions. +dlls/shlwapi/url.c Move SHLWAPI_1/2 here along with URL private types. Implement UrlHashW, document hashing functions Give url struct a usable name; Use sizeof(), not magic number URL_NeedEscapeA is just URL_NeedEscapeW - combine them. +dlls/shlwapi/mt.c Move ThreadRef functions here. Add SHCreateThread,@222,223,224,422,423,424 (Semaphores) SHGetThreadRef: AddRef the object retrieved +dlls/shlwapi/gdi_user.c Move gdi/user related functions into this file, fix a few up. Add @138,167,221,180,182,192,197,278,257,ColorRGBToHLS; Document Return a valid (but uninitialised) map pointer in SHGetInverseCMAP +dlls/shlwapi/shared.c Split out shared memory functions and give them usable names. +dlls/shlwapi/clist.c Implement ordinals 17,18,19,20,21,22 +dlls/shlwapi/clsid.c Move @436 here, re-implement to optimise and fix Add @269,270,24 +dlls/shlwapi/tests/chrcmp.c dlls/shlwapi/tests/clist.c dlls/shlwapi/tests/clsid.c dlls/shlwapi/tests/mlang.c dlls/shlwapi/tests/shreg.c dlls/shlwapi/tests/string.c Unit tests for shlwapi functions Don't fail if we cant test some things in shlreg ===== "Don't wait for the seas to part, or messiahs to come; Don't you sit around and waste this chance..." - Live jon_p_griffiths@yahoo.com __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com
Attachment:
shlwapi.diff.bz2
Description: shlwapi.diff.bz2
Attachment:
shlwapi_h.diff.bz2
Description: shlwapi_h.diff.bz2
Attachment:
user_wsprintf.diff.bz2
Description: user_wsprintf.diff.bz2