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.
 
 
 
 
 
 

118 lines
2.9 KiB

/////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 1997, Microsoft Corporation. All Rights Reserved.
//
/////////////////////////////////////////////////////////////////////////////
#include <windows.h>
#include <string.h>
#include <memory.h>
#include "basecore.hpp"
void hugestrcpy(char *, char *);
void hugememcpy(char *, char *, long);
void hugememset(char *, long);
void hugestrcat(char *, char *);
int hugestrcmp(char *, char *);
void hugestrcpy( char *dest,
char *src)
{
while (*src) *dest++ = *src++;
*dest = 0x00;
}
// ------------------------------------------------------------------------------------
//
// ------------------------------------------------------------------------------------
void hugememcpy( char *dest,
char *src,
long cnt)
{
long i;
i = 0L;
while (i < cnt)
{
dest[i] = src[i];
i++;
}
}
// ------------------------------------------------------------------------------------
//
// ------------------------------------------------------------------------------------
void hugememset( char *str,
long size)
{
while (size--) *str++ = 0x00;
}
// ------------------------------------------------------------------------------------
//
// ------------------------------------------------------------------------------------
void hugestrcat( char *dest,
char *src)
{
while (*dest) dest++;
while (*src) *dest++ = *src++;
*dest = 0x00;
}
// ------------------------------------------------------------------------------------
//
// ------------------------------------------------------------------------------------
int hugestrcmp(char *str1, char *str2)
{
while (*str1)
{
if (*str1 != *str2) return (*str1 - *str2);
str1++;
str2++;
}
return 0;
}
// ------------------------------------------------------
//
// ------------------------------------------------------
int PrintBit(unsigned char data)
{
char bitstring[9];
for (int i = 0; i < 8; i++) bitstring[7-i] = (GetBit(data, i) == 0) ? '0' : '1';
bitstring[8] = NULLCHAR;
return SUCCESS;
}
// ----------------------------------------------------------------------
//
// ----------------------------------------------------------------------
BOOL GetBit( unsigned char data,
int pos) // pos : 0, 1, 2, ..., 7
{
char mask = 0x01;
return ((data & (mask << pos)) == 0) ? FALSE : TRUE;
}
// ----------------------------------------------------------------------
//
// ----------------------------------------------------------------------
void SetBit( unsigned char &data,
int pos,
int newitem) // newitem : 0, 1
{
char mask = 0x01;
if (newitem == 1) data = data | (mask << pos);
else data = data & ~(mask << pos);
}