From bcd6877935c33a5e8750084100defd452b86b939 Mon Sep 17 00:00:00 2001 From: Elad Salomons Date: Wed, 29 Aug 2018 22:26:32 +0300 Subject: [PATCH] Add legacy ENinit API Closes #232 --- src/epanet.c | 14 +++++++++++--- win_build/WinSDK/epanet2.def | 3 ++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/epanet.c b/src/epanet.c index 95d99c9..9943d16 100644 --- a/src/epanet.c +++ b/src/epanet.c @@ -185,6 +185,14 @@ int DLLEXPORT ENepanet(const char *f1, const char *f2, const char *f3, void (*pv return (errcode); } +int DLLEXPORT ENinit(char *f2, char *f3, int UnitsType, + int HeadlossFormula) { + int errcode = 0; + ERRCODE(EN_createproject(&_defaultModel)); + ERRCODE(EN_init(_defaultModel, f2, f3, UnitsType, HeadlossFormula)); + return (errcode); +} + int DLLEXPORT ENopen(char *f1, char *f2, char *f3) { int errcode = 0; ERRCODE(EN_createproject(&_defaultModel)); @@ -602,7 +610,7 @@ int DLLEXPORT EN_deleteproject(EN_ProjectHandle *ph) } -int DLLEXPORT EN_init(EN_ProjectHandle *ph, char *f2, char *f3, +int DLLEXPORT EN_init(EN_ProjectHandle ph, char *f2, char *f3, EN_FlowUnits UnitsType, EN_FormType HeadlossFormula) /*---------------------------------------------------------------- ** Input: @@ -623,7 +631,7 @@ int DLLEXPORT EN_init(EN_ProjectHandle *ph, char *f2, char *f3, _fpreset(); #endif - EN_Project *pr = (EN_Project*)*ph; + EN_Project *pr = (EN_Project*)ph; /* Set system flags */ pr->Openflag = TRUE; @@ -3643,7 +3651,7 @@ int DLLEXPORT EN_setheadcurveindex(EN_ProjectHandle ph, int index, int curveinde double *Ucf = p->Ucf; int pIdx; Spump *pump; - + if (!p->Openflag) return set_error(p->error_handle, 102); if (index < 1 || index > Nlinks || EN_PUMP != Link[index].Type) { diff --git a/win_build/WinSDK/epanet2.def b/win_build/WinSDK/epanet2.def index 46c82c2..0dcdfc3 100644 --- a/win_build/WinSDK/epanet2.def +++ b/win_build/WinSDK/epanet2.def @@ -67,6 +67,7 @@ EXPORTS ENsetbasedemand = _ENsetbasedemand@12 ENgetaveragepatternvalue = _ENgetaveragepatternvalue@8 ENgetheadcurveindex = _ENgetheadcurveindex@8 + ENsetheadcurveindex = _ENsetheadcurveindex@8 ENgetpumptype = _ENgetpumptype@8 ENgetcurveindex = _ENgetcurveindex@8 ENgetcurveid = _ENgetcurveid@8 @@ -96,4 +97,4 @@ EXPORTS ENgetdemandmodel = _ENgetdemandmodel@16 ENsetdemandmodel = _ENsetdemandmodel@16 ENgetcurvetype = _ENgetcurvetype@8 - + ENinit = _ENinit@16 \ No newline at end of file