Author: dchapyshev
Date: Fri Jun 13 02:58:34 2008
New Revision: 33953
URL:
http://svn.reactos.org/svn/reactos?rev=33953&view=rev
Log:
- Implement AddCommasW
- Implement SHLocalAlloc
- Implement SHLocalFree
- Implement SHLocalReAlloc
explorer-new starts in reactos now!
Modified:
trunk/reactos/dll/win32/shell32/shell32.spec
trunk/reactos/dll/win32/shell32/shell32_main.c
Modified: trunk/reactos/dll/win32/shell32/shell32.spec
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shell32.…
==============================================================================
--- trunk/reactos/dll/win32/shell32/shell32.spec [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/shell32.spec [iso-8859-1] Fri Jun 13 02:58:34 2008
@@ -189,10 +189,10 @@
197 stub -noname SHGlobalDefect
198 stdcall -noname SHAbortInvokeCommand()
199 stub SHGetFileIcon
- 200 stub SHLocalAlloc
- 201 stub SHLocalFree
- 202 stub SHLocalReAlloc
- 203 stub AddCommasW
+ 200 stdcall SHLocalAlloc(long long)
+ 201 stdcall SHLocalFree(ptr)
+ 202 stdcall SHLocalReAlloc(ptr long long)
+ 203 stdcall AddCommasW(long str)
204 stub ShortSizeFormatW
205 stdcall Printer_LoadIconsW(wstr ptr ptr)
206 stub Link_AddExtraDataSection
Modified: trunk/reactos/dll/win32/shell32/shell32_main.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shell32_…
==============================================================================
--- trunk/reactos/dll/win32/shell32/shell32_main.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/shell32_main.c [iso-8859-1] Fri Jun 13 02:58:34 2008
@@ -842,6 +842,73 @@
}
/*************************************************************************/
+
+/*************************************************************************
+ * AddCommasW [SHELL32.203]
+ */
+LPWSTR WINAPI AddCommasW(DWORD lValue, LPWSTR szRet)
+{
+ WCHAR szValue[MAX_PATH], szSeparator[8 + 1];
+ NUMBERFMTW numFormat;
+ LCID lcid = GetUserDefaultLCID();
+
+ GetLocaleInfoW(lcid,
+ LOCALE_STHOUSAND,
+ szSeparator,
+ 8 + 1);
+
+ numFormat.NumDigits = 0;
+ numFormat.LeadingZero = 0;
+ numFormat.Grouping = 0;
+ numFormat.lpDecimalSep = szSeparator;
+ numFormat.lpThousandSep = szSeparator;
+ numFormat.NegativeOrder = 0;
+
+ swprintf(szValue, L"%llu", lValue);
+ //_ultow(lValue, szValue, 16);
+
+ if (GetNumberFormatW(lcid,
+ 0,
+ szValue,
+ &numFormat,
+ szRet,
+ wcslen(szRet)) != 0)
+ {
+ return szRet;
+ }
+
+ wcscpy(szRet, szValue);
+ return szRet;
+}
+
+
+/*************************************************************************
+ * SHLocalAlloc [SHELL32.200]
+ */
+HLOCAL WINAPI SHLocalAlloc(UINT uFlags, SIZE_T uBytes)
+{
+ return LocalAlloc(uFlags, uBytes);
+}
+
+/*************************************************************************
+ * SHLocalFree [SHELL32.201]
+ */
+HLOCAL WINAPI SHLocalFree(HLOCAL hMem)
+{
+ return LocalFree(hMem);
+}
+
+/*************************************************************************
+ * SHLocalAlloc [SHELL32.202]
+ */
+HLOCAL WINAPI SHLocalReAlloc(HLOCAL hMem, SIZE_T uBytes, UINT uFlags)
+{
+ return LocalReAlloc(hMem, uBytes, uFlags);
+}
+
+
+/*************************************************************************/
+
typedef struct
{