Skip to content
Permalink
Browse files

Add MAX_ASSIGN() macro.

This improves coverage in cases where the compared values may be always ascending or descending.
  • Loading branch information...
dwsteele committed May 13, 2019
1 parent 15a33bf commit 57281d479296627e30cccd00c089f3fb40a076ca
Showing with 16 additions and 4 deletions.
  1. +14 −1 src/common/macro.h
  2. +2 −3 src/protocol/parallel.c
@@ -7,7 +7,7 @@ General Macros
/***********************************************************************************************************************************
Convert the parameter to a zero-terminated string
This is useful for converting non-string types (e.g. int) to strings for inclusion in messages.
Useful for converting non-string types (e.g. int) to strings for inclusion in messages.
***********************************************************************************************************************************/
#define STRINGIFY_HELPER(param) #param
#define STRINGIFY(param) STRINGIFY_HELPER(param)
@@ -21,4 +21,17 @@ common/object.h has numerous examples of this.
#define GLUE_HELPER(param1, param2) param1##param2
#define GLUE(param1, param2) GLUE_HELPER(param1, param2)

/***********************************************************************************************************************************
If param2 > param1 then assign it to param1
Useful for ensuring coverage in cases where compared values may be always ascending or decending.
***********************************************************************************************************************************/
#define MAX_ASSIGN(param1, param2) \
do \
{ \
if (param2 > param1) \
param1 = param2; \
} \
while (0)

#endif
@@ -147,9 +147,8 @@ protocolParallelProcess(ProtocolParallel *this)
int handle = ioReadHandle(protocolClientIoRead(*(ProtocolClient **)lstGet(this->clientList, clientIdx)));
FD_SET((unsigned int)handle, &selectSet);

// Set the max handle
if (handle > handleMax) // {+uncovered_branch - often in ascending order}
handleMax = handle;
// Find the max file handle needed for select()
MAX_ASSIGN(handleMax, handle);

clientRunningTotal++;
}

0 comments on commit 57281d4

Please sign in to comment.
You can’t perform that action at this time.