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
|
||||
if (Overwrite && (MaxRead > BufLen)) {
|
||||
DataRemain = MaxRead;
|
||||
}
|
||||
else {
|
||||
DataRemain = BufLen;
|
||||
}
|
||||
if (MaxRead == -1)
|
||||
MaxRead = BufSize;
|
||||
DataRemain = ((!Overwrite && (MaxRead > BufSize-BufLen)))? BufSize-BufLen : MaxRead;
|
||||
while (DataRemain)
|
||||
{
|
||||
// Read from file descriptor
|
||||
@@ -782,7 +779,7 @@ int CShiftBuffer::PopCopy( char ** Data, int MaxLen )
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
// 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 TotalRead = 0;
|
||||
@@ -794,7 +791,9 @@ int CShiftBuffer::ReadFromFD( int Handle, int MaxRead )
|
||||
}
|
||||
|
||||
// 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)
|
||||
{
|
||||
// Read from file descriptor
|
||||
|
||||
@@ -118,7 +118,7 @@ public:
|
||||
int PopCopy( char ** Data, int MaxLen = -1 );
|
||||
|
||||
// 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 );
|
||||
|
||||
// Miscellaneous
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
// Global vars
|
||||
extern CLogCore * Log;
|
||||
extern char ProcessName[];
|
||||
extern char * ProcessName;
|
||||
|
||||
// Termination Vars
|
||||
bool Terminate = false;
|
||||
|
||||
Reference in New Issue
Block a user