新增了PQDIF补招线程,导入了新的lib库
This commit is contained in:
89
LFtid1056/pqdif/include/pqbytearray.cpp
Normal file
89
LFtid1056/pqdif/include/pqbytearray.cpp
Normal file
@@ -0,0 +1,89 @@
|
||||
// File name: $Workfile: pqbytearray.cpp $
|
||||
// Last modified: $Modtime: 9/21/00 8:51a $
|
||||
// Last modified by: $Author: Bill $
|
||||
//
|
||||
// VCS archive path: $Archive: /Hank/DMM/FirmWare/Level3/ObDatMgr/pqbytearray.cpp $
|
||||
// VCS revision: $Revision: 7 $
|
||||
|
||||
#include "PQDIF_classes.h"
|
||||
|
||||
|
||||
CPQByteArray::CPQByteArray()
|
||||
{
|
||||
m_data = NULL;
|
||||
m_size = 0;
|
||||
m_max = 0;
|
||||
m_growBy = 64;
|
||||
}
|
||||
|
||||
|
||||
CPQByteArray::~CPQByteArray()
|
||||
{
|
||||
if( m_data )
|
||||
{
|
||||
free( m_data );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool CPQByteArray::SetSize( int NewSize, int GrowBy )
|
||||
{
|
||||
|
||||
if( GrowBy > 0 )
|
||||
m_growBy = GrowBy;
|
||||
|
||||
// Grow?
|
||||
if( NewSize > m_max )
|
||||
{
|
||||
int max = (( NewSize/m_growBy ) + 1)*m_growBy;
|
||||
BYTE * data = (BYTE *) realloc( (void *) m_data, max );
|
||||
if( data != NULL || max == 0 )
|
||||
{
|
||||
m_data = data;
|
||||
m_size = NewSize;
|
||||
m_max = max;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_size = NewSize;
|
||||
}
|
||||
|
||||
return ( m_size == NewSize );
|
||||
|
||||
}
|
||||
|
||||
|
||||
int CPQByteArray::Add( BYTE value )
|
||||
{
|
||||
int pos = m_size;
|
||||
|
||||
if( SetSize( m_size + 1 ) )
|
||||
{
|
||||
m_data[ pos ] = value;
|
||||
return pos;
|
||||
}
|
||||
else
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int CPQByteArray::Append( BYTE * values, int count )
|
||||
{
|
||||
int pos = m_size;
|
||||
|
||||
if( SetSize( m_size + count, m_growBy ) )
|
||||
{
|
||||
memcpy( m_data + pos, values, count );
|
||||
return pos;
|
||||
}
|
||||
else
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user