The function getclosedlink in report.c uses recursion to find closed links when reporting on disconnections.
In very large networks, it’s possible for the recursion to exhaust the memory on the call stack which then causes EPANET to crash.
If a loop is used instead of recursion, EPANET will not crash with very large disconnections
The existing EN_setstatusreport function only allows one to set the level of status reporting and not retrieve this value. A new EN_STATUS_REPORT constant was added, to be used with EN_setoption and EN_getoption, to provide read/write access to the level of status reporting.
This update prevents a solution where the computed loss coefficient for a FCV at its flow setting would be less than the user supplied fully opened coefficient.