From d44b0dba6fa95ff236473f8004c18956d630e99b Mon Sep 17 00:00:00 2001 From: Paul Vriens Date: Thu, 2 Nov 2006 10:25:01 +0100 Subject: [PATCH] comctl32: Move documented functions to string.c. --- dlls/comctl32/comctl32undoc.c | 142 ---------------------------------- dlls/comctl32/string.c | 139 +++++++++++++++++++++++++++++++++ 2 files changed, 139 insertions(+), 142 deletions(-) diff --git a/dlls/comctl32/comctl32undoc.c b/dlls/comctl32/comctl32undoc.c index ad70a0b835a..b8c8ef8d480 100644 --- a/dlls/comctl32/comctl32undoc.c +++ b/dlls/comctl32/comctl32undoc.c @@ -883,148 +883,6 @@ INT WINAPI EnumMRUListA (HANDLE hList, INT nItemPos, LPVOID lpBuffer, return datasize; } - -/************************************************************************** - * Str_GetPtrA [COMCTL32.233] - * - * Copies a string into a destination buffer. - * - * PARAMS - * lpSrc [I] Source string - * lpDest [O] Destination buffer - * nMaxLen [I] Size of buffer in characters - * - * RETURNS - * The number of characters copied. - */ -INT WINAPI Str_GetPtrA (LPCSTR lpSrc, LPSTR lpDest, INT nMaxLen) -{ - INT len; - - TRACE("(%p %p %d)\n", lpSrc, lpDest, nMaxLen); - - if (!lpDest && lpSrc) - return strlen (lpSrc); - - if (nMaxLen == 0) - return 0; - - if (lpSrc == NULL) { - lpDest[0] = '\0'; - return 0; - } - - len = strlen (lpSrc); - if (len >= nMaxLen) - len = nMaxLen - 1; - - RtlMoveMemory (lpDest, lpSrc, len); - lpDest[len] = '\0'; - - return len; -} - - -/************************************************************************** - * Str_SetPtrA [COMCTL32.234] - * - * Makes a copy of a string, allocating memory if necessary. - * - * PARAMS - * lppDest [O] Pointer to destination string - * lpSrc [I] Source string - * - * RETURNS - * Success: TRUE - * Failure: FALSE - * - * NOTES - * Set lpSrc to NULL to free the memory allocated by a previous call - * to this function. - */ -BOOL WINAPI Str_SetPtrA (LPSTR *lppDest, LPCSTR lpSrc) -{ - TRACE("(%p %p)\n", lppDest, lpSrc); - - if (lpSrc) { - LPSTR ptr = ReAlloc (*lppDest, strlen (lpSrc) + 1); - if (!ptr) - return FALSE; - strcpy (ptr, lpSrc); - *lppDest = ptr; - } - else { - if (*lppDest) { - Free (*lppDest); - *lppDest = NULL; - } - } - - return TRUE; -} - - -/************************************************************************** - * Str_GetPtrW [COMCTL32.235] - * - * See Str_GetPtrA. - */ -INT WINAPI Str_GetPtrW (LPCWSTR lpSrc, LPWSTR lpDest, INT nMaxLen) -{ - INT len; - - TRACE("(%p %p %d)\n", lpSrc, lpDest, nMaxLen); - - if (!lpDest && lpSrc) - return strlenW (lpSrc); - - if (nMaxLen == 0) - return 0; - - if (lpSrc == NULL) { - lpDest[0] = L'\0'; - return 0; - } - - len = strlenW (lpSrc); - if (len >= nMaxLen) - len = nMaxLen - 1; - - RtlMoveMemory (lpDest, lpSrc, len*sizeof(WCHAR)); - lpDest[len] = L'\0'; - - return len; -} - - -/************************************************************************** - * Str_SetPtrW [COMCTL32.236] - * - * See Str_SetPtrA. - */ -BOOL WINAPI Str_SetPtrW (LPWSTR *lppDest, LPCWSTR lpSrc) -{ - TRACE("(%p %p)\n", lppDest, lpSrc); - - if (lpSrc) { - INT len = strlenW (lpSrc) + 1; - LPWSTR ptr = ReAlloc (*lppDest, len * sizeof(WCHAR)); - if (!ptr) - return FALSE; - strcpyW (ptr, lpSrc); - *lppDest = ptr; - } - else { - if (*lppDest) { - Free (*lppDest); - *lppDest = NULL; - } - } - - return TRUE; -} - - /************************************************************************** * Str_GetPtrWtoA [internal] * diff --git a/dlls/comctl32/string.c b/dlls/comctl32/string.c index 82bfa5edc56..e083ea682fc 100644 --- a/dlls/comctl32/string.c +++ b/dlls/comctl32/string.c @@ -34,6 +34,8 @@ #include "winuser.h" #include "winnls.h" +#include "comctl32.h" + #include "wine/unicode.h" #include "wine/debug.h" @@ -144,6 +146,143 @@ static BOOL COMCTL32_ChrCmpIW(WCHAR ch1, WCHAR ch2) return COMCTL32_ChrCmpHelperW(ch1, ch2, NORM_IGNORECASE); } +/************************************************************************** + * Str_GetPtrA [COMCTL32.233] + * + * Copies a string into a destination buffer. + * + * PARAMS + * lpSrc [I] Source string + * lpDest [O] Destination buffer + * nMaxLen [I] Size of buffer in characters + * + * RETURNS + * The number of characters copied. + */ +INT WINAPI Str_GetPtrA (LPCSTR lpSrc, LPSTR lpDest, INT nMaxLen) +{ + INT len; + + TRACE("(%p %p %d)\n", lpSrc, lpDest, nMaxLen); + + if (!lpDest && lpSrc) + return strlen (lpSrc); + + if (nMaxLen == 0) + return 0; + + if (lpSrc == NULL) { + lpDest[0] = '\0'; + return 0; + } + + len = strlen (lpSrc); + if (len >= nMaxLen) + len = nMaxLen - 1; + + RtlMoveMemory (lpDest, lpSrc, len); + lpDest[len] = '\0'; + + return len; +} + +/************************************************************************** + * Str_SetPtrA [COMCTL32.234] + * + * Makes a copy of a string, allocating memory if necessary. + * + * PARAMS + * lppDest [O] Pointer to destination string + * lpSrc [I] Source string + * + * RETURNS + * Success: TRUE + * Failure: FALSE + * + * NOTES + * Set lpSrc to NULL to free the memory allocated by a previous call + * to this function. + */ +BOOL WINAPI Str_SetPtrA (LPSTR *lppDest, LPCSTR lpSrc) +{ + TRACE("(%p %p)\n", lppDest, lpSrc); + + if (lpSrc) { + LPSTR ptr = ReAlloc (*lppDest, strlen (lpSrc) + 1); + if (!ptr) + return FALSE; + strcpy (ptr, lpSrc); + *lppDest = ptr; + } + else { + if (*lppDest) { + Free (*lppDest); + *lppDest = NULL; + } + } + + return TRUE; +} + +/************************************************************************** + * Str_GetPtrW [COMCTL32.235] + * + * See Str_GetPtrA. + */ +INT WINAPI Str_GetPtrW (LPCWSTR lpSrc, LPWSTR lpDest, INT nMaxLen) +{ + INT len; + + TRACE("(%p %p %d)\n", lpSrc, lpDest, nMaxLen); + + if (!lpDest && lpSrc) + return strlenW (lpSrc); + + if (nMaxLen == 0) + return 0; + + if (lpSrc == NULL) { + lpDest[0] = L'\0'; + return 0; + } + + len = strlenW (lpSrc); + if (len >= nMaxLen) + len = nMaxLen - 1; + + RtlMoveMemory (lpDest, lpSrc, len*sizeof(WCHAR)); + lpDest[len] = L'\0'; + + return len; +} + +/************************************************************************** + * Str_SetPtrW [COMCTL32.236] + * + * See Str_SetPtrA. + */ +BOOL WINAPI Str_SetPtrW (LPWSTR *lppDest, LPCWSTR lpSrc) +{ + TRACE("(%p %p)\n", lppDest, lpSrc); + + if (lpSrc) { + INT len = strlenW (lpSrc) + 1; + LPWSTR ptr = ReAlloc (*lppDest, len * sizeof(WCHAR)); + if (!ptr) + return FALSE; + strcpyW (ptr, lpSrc); + *lppDest = ptr; + } + else { + if (*lppDest) { + Free (*lppDest); + *lppDest = NULL; + } + } + + return TRUE; +} + /************************************************************************** * StrChrA [COMCTL32.350] *