\r
void vPortGetHeapStats( HeapStats_t *pxHeapStats )\r
{\r
- BlockLink_t *pxBlock;\r
- size_t xBlocks = 0, xMaxSize = 0, xMinSize = 0;\r
+BlockLink_t *pxBlock;\r
+size_t xBlocks = 0, xMaxSize = 0, xMinSize = portMAX_DELAY; /* portMAX_DELAY used as a portable way of getting the maximum value. */\r
\r
vTaskSuspendAll();\r
{\r
xMaxSize = pxBlock->xBlockSize;\r
}\r
\r
- if( pxBlock->xBlockSize < xMinSize )\r
+ /* Heap five will have a zero sized block at the end of each\r
+ each region - the block is only used to link to the next\r
+ heap region so it not a real block. */\r
+ if( pxBlock->xBlockSize != 0 )\r
{\r
- xMinSize = pxBlock->xBlockSize;\r
+ if( pxBlock->xBlockSize < xMinSize )\r
+ {\r
+ xMinSize = pxBlock->xBlockSize;\r
+ }\r
}\r
\r
/* Move to the next block in the chain until the last block is\r