This solves the garbled error message and optionally adds an improved specific error message, which existed in EPANET 2.1 when a network has unconnected nodes. Another similar case in was code found and corrected with the same pattern, but could not be tested.

This commit is contained in:
Alex Sinske
2020-08-05 18:43:17 +02:00
parent 80b30272cb
commit 32732dbdd5
3 changed files with 5 additions and 2 deletions

View File

@@ -44,6 +44,7 @@ DAT(226,"no head curve or power rating for pump")
DAT(227,"invalid head curve for pump")
DAT(230,"nonincreasing x-values for curve")
DAT(233,"network has unconnected nodes")
DAT(2331,"network has an unconnected node with ID: ")
// These errors apply only to API functions
DAT(240,"nonexistent source")

View File

@@ -146,6 +146,7 @@ int readdata(Project *pr)
char line[MAXLINE + 1], // Line from input data file
wline[MAXLINE + 1]; // Working copy of input line
char errmsg[MAXMSG + 1] = "";
int sect, newsect, // Data sections
errcode = 0, // Error code
inperr, errsum; // Error code & total error count
@@ -207,7 +208,7 @@ int readdata(Project *pr)
// Check if max. line length exceeded
if (strlen(line) >= MAXLINE)
{
sprintf(pr->Msg, "%s section: %s", geterrmsg(214, pr->Msg), SectTxt[sect]);
sprintf(pr->Msg, "%s section: %s", geterrmsg(214, errmsg), SectTxt[sect]);
writeline(pr, pr->Msg);
writeline(pr, line);
errsum++;

View File

@@ -816,13 +816,14 @@ int unlinked(Project *pr)
{
Network *net = &pr->network;
int i, count = 0;
char errmsg[MAXMSG + 1] = "";
for (i = 1; i <= net->Njuncs; i++)
{
if (pr->network.Adjlist[i] == NULL)
{
count++;
sprintf(pr->Msg, "Error 233: %s %s", geterrmsg(233, pr->Msg), net->Node[i].ID);
sprintf(pr->Msg, "Error 2331: %s %s", geterrmsg(2331, errmsg), net->Node[i].ID);
writeline(pr, pr->Msg);
}
if (count >= 10) break;