Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

66 lines
1.1 KiB

/***
*_c2pstr.c - contains c2pstr() routine
*
* Copyright (c) 1985-1995, Microsoft Corporation. All rights reserved.
*
*Purpose:
* converts a 'C' string to a PASCAL string in place
*
*Revision History:
* 02-04-92 RID C version created.
* 03-24-92 PLM Changed name
*
*******************************************************************************/
#include <cruntime.h>
#include <string.h>
/***
*_c2pstr - return the pointer to the pascal string after conversion.
*
*Purpose:
* Convert a 'C' null terminated string into a pascal byte count
* pre-fixed string. This conversion is in place and removes
* the trailing null.
*
*Entry:
* char * str - string to be converted
*
*Exit:
* char * str of converted string.
*
*Exceptions:
*
*******************************************************************************/
unsigned char * _CALLTYPE1 _c2pstr (
char * str
)
{
if ( str && *str )
{
unsigned char *pch;
unsigned char ch;
unsigned char chT;
int cch;
pch = str;
ch = *pch;
do
{
chT = *++pch;
*pch = ch;
ch = chT;
} while( ch );
cch = pch - str;
*str = ( cch > 255 ) ? 255 : cch;
}
return( str );
}