Minor update:

- BufferCore:
  - Add Overwrite parameter for ReadFromFD
  - Bug fix: ReadFromFD MaxRead size
- SignalCore:
  - ProcessName is external pointer
This commit is contained in:
Charl Wentzel
2017-07-05 17:16:29 +02:00
parent 706cd9caf6
commit 1b64fd17f9
3 changed files with 9 additions and 10 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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;