Minor update:
- BufferCore: - Add Overwrite parameter for ReadFromFD - Bug fix: ReadFromFD MaxRead size - SignalCore: - ProcessName is external pointer
This commit is contained in:
@@ -401,12 +401,9 @@ int CRollingBuffer::ReadFromFD( int Handle, int MaxRead, bool Overwrite )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Read file descriptor into buffer
|
// Read file descriptor into buffer
|
||||||
if (Overwrite && (MaxRead > BufLen)) {
|
if (MaxRead == -1)
|
||||||
DataRemain = MaxRead;
|
MaxRead = BufSize;
|
||||||
}
|
DataRemain = ((!Overwrite && (MaxRead > BufSize-BufLen)))? BufSize-BufLen : MaxRead;
|
||||||
else {
|
|
||||||
DataRemain = BufLen;
|
|
||||||
}
|
|
||||||
while (DataRemain)
|
while (DataRemain)
|
||||||
{
|
{
|
||||||
// Read from file descriptor
|
// Read from file descriptor
|
||||||
@@ -782,7 +779,7 @@ int CShiftBuffer::PopCopy( char ** Data, int MaxLen )
|
|||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
// Read File descriptor directly into buffer
|
// Read File descriptor directly into buffer
|
||||||
int CShiftBuffer::ReadFromFD( int Handle, int MaxRead )
|
int CShiftBuffer::ReadFromFD( int Handle, int MaxRead, bool Overwrite )
|
||||||
{
|
{
|
||||||
int BytesRead = 0;
|
int BytesRead = 0;
|
||||||
int TotalRead = 0;
|
int TotalRead = 0;
|
||||||
@@ -794,7 +791,9 @@ int CShiftBuffer::ReadFromFD( int Handle, int MaxRead )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Read file descriptor into buffer
|
// Read file descriptor into buffer
|
||||||
DataRemain = ((MaxRead < 0) || (MaxRead > BufSize-BufLen))? BufSize-BufLen : MaxRead;
|
if (MaxRead == -1)
|
||||||
|
MaxRead = BufSize;
|
||||||
|
DataRemain = ((!Overwrite && (MaxRead > BufSize-BufLen)))? BufSize-BufLen : MaxRead;
|
||||||
while (DataRemain)
|
while (DataRemain)
|
||||||
{
|
{
|
||||||
// Read from file descriptor
|
// Read from file descriptor
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ public:
|
|||||||
int PopCopy( char ** Data, int MaxLen = -1 );
|
int PopCopy( char ** Data, int MaxLen = -1 );
|
||||||
|
|
||||||
// File operations
|
// File operations
|
||||||
int ReadFromFD( int Handle, int MaxRead = -1 );
|
int ReadFromFD( int Handle, int MaxRead = -1, bool Overwrite = false );
|
||||||
int WriteToFD( int Handle, int MaxWrite = -1 );
|
int WriteToFD( int Handle, int MaxWrite = -1 );
|
||||||
|
|
||||||
// Miscellaneous
|
// Miscellaneous
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
// Global vars
|
// Global vars
|
||||||
extern CLogCore * Log;
|
extern CLogCore * Log;
|
||||||
extern char ProcessName[];
|
extern char * ProcessName;
|
||||||
|
|
||||||
// Termination Vars
|
// Termination Vars
|
||||||
bool Terminate = false;
|
bool Terminate = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user