Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1996 Microsoft Corporation
Module Name:
runtime.c
Abstract:
Implementation of runtime library functions
Environment:
Fax driver, kernel and user mode
Revision History:
01/09/96 -davidx- Created it.
mm/dd/yy -author- description
--*/
#include "faxlib.h"
VOID CopyStringW( PWSTR pDest, PWSTR pSrc, INT destSize )
/*++
Routine Description:
Copy Unicode string from source to destination
Arguments:
pDest - Points to the destination buffer pSrc - Points to source string destSize - Size of destination buffer (in characters)
Return Value:
NONE
Note:
If the source string is shorter than the destination buffer, unused chars in the destination buffer is filled with NUL.
--*/
{ PWSTR pEnd;
Assert(pDest != NULL && pSrc != NULL && destSize > 0);
pEnd = pDest + (destSize - 1);
while (pDest < pEnd && (*pDest++ = *pSrc++) != NUL) ;
while (pDest <= pEnd) *pDest++ = NUL; }
VOID CopyStringA( PSTR pDest, PSTR pSrc, INT destSize )
/*++
Routine Description:
Copy Ansi string from source to destination
Arguments:
pDest - Points to the destination buffer pSrc - Points to source string destSize - Size of destination buffer (in characters)
Return Value:
NONE
Note:
If the source string is shorter than the destination buffer, unused chars in the destination buffer is filled with NUL.
--*/
{ PSTR pEnd;
Assert(pDest != NULL && pSrc != NULL && destSize > 0);
pEnd = pDest + (destSize - 1);
while (pDest < pEnd && (*pDest++ = *pSrc++) != NUL) ;
while (pDest <= pEnd) *pDest++ = NUL; }
LPTSTR DuplicateString( LPCTSTR pSrcStr )
/*++
Routine Description:
Make a duplicate of the given character string
Arguments:
pSrcStr - Specifies the string to be duplicated
Return Value:
Pointer to the duplicated string, NULL if there is an error
--*/
{ LPTSTR pDestStr; INT strSize;
if (pSrcStr != NULL) {
strSize = SizeOfString(pSrcStr);
if (pDestStr = MemAlloc(strSize)) CopyMemory(pDestStr, pSrcStr, strSize); else Error(("Memory allocation failed\n"));
} else pDestStr = NULL;
return pDestStr; }
PCSTR StripDirPrefixA( PCSTR pFilename )
/*++
Routine Description:
Strip the directory prefix off a filename (ANSI version)
Arguments:
pFilename Pointer to filename string
Return Value:
Pointer to the last component of a filename (without directory prefix)
--*/
{ LPCSTR pstr;
if (pstr = strrchr(pFilename, PATH_SEPARATOR)) return pstr + 1;
return pFilename; }
|