SHLWAPI Update

Jon Griffiths jon_p_griffiths at yahoo.com
Sun Jun 16 19:58:32 CDT 2002


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 at 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, at 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 at yahoo.com

__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: shlwapi.diff.bz2
Type: application/x-bzip2
Size: 64247 bytes
Desc: shlwapi.diff.bz2
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20020616/dde707fe/shlwapi.diff.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: shlwapi_h.diff.bz2
Type: application/x-bzip2
Size: 844 bytes
Desc: shlwapi_h.diff.bz2
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20020616/dde707fe/shlwapi_h.diff.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: user_wsprintf.diff.bz2
Type: application/x-bzip2
Size: 1442 bytes
Desc: user_wsprintf.diff.bz2
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20020616/dde707fe/user_wsprintf.diff.bin


More information about the wine-patches mailing list