Browse Source

lpsolve5j.cpp: Fix deletes

The Java wrapper around the C++ lpsolve library uses the construct
  delete a, b, c;
in several locations. The apparent goal is to delete all the pointers,
however the semantics of the C++ comma operator intervene: Only the
first pointer is deleted.

It looks like the relevant locations are never reached from PRISM code,
so we fix it mostly to silence the compiler warnings.


git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10571 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Joachim Klein 10 years ago
parent
commit
307e8b586f
  1. 24
      prism/ext/lp_solve_5.5_java/src/c/lpsolve5j.cpp

24
prism/ext/lp_solve_5.5_java/src/c/lpsolve5j.cpp

@ -3222,7 +3222,9 @@ JNIEXPORT void JNICALL Java_lpsolve_LpSolve_getSensitivityRhs
/* no exception check; we're terminating anyway */
cleanup:
delete c_duals, c_dualsfrom, c_dualstill;
delete c_duals;
delete c_dualsfrom;
delete c_dualstill;
}
/*
@ -3309,7 +3311,9 @@ JNIEXPORT jobjectArray JNICALL Java_lpsolve_LpSolve_getPtrSensitivityRhs
cleanup:
delete c_duals, c_dualsfrom, c_dualstill;
delete c_duals;
delete c_dualsfrom;
delete c_dualstill;
return result;
}
@ -3445,7 +3449,8 @@ JNIEXPORT void JNICALL Java_lpsolve_LpSolve_getSensitivityObj
/* no exception check; we're terminating anyway */
cleanup:
delete c_objfrom, c_objtill;
delete c_objfrom;
delete c_objtill;
}
/*
@ -3518,7 +3523,8 @@ JNIEXPORT jobjectArray JNICALL Java_lpsolve_LpSolve_getPtrSensitivityObj
cleanup:
delete c_objfrom, c_objtill;
delete c_objfrom;
delete c_objtill;
return result;
}
@ -3580,7 +3586,10 @@ void getSensitivityObjex
/* no exception check; we're terminating anyway */
cleanup:
delete c_objfrom, c_objtill, c_objfromvalue, c_objtillvalue;
delete c_objfrom;
delete c_objtill;
delete c_objfromvalue;
delete c_objtillvalue;
}
@ -3658,7 +3667,10 @@ JNIEXPORT jobjectArray JNICALL Java_lpsolve_LpSolve_getPtrSensitivityObjex
/* no exception check; we're terminating anyway */
cleanup:
delete c_objfrom, c_objtill, c_objfromvalue, c_objtillvalue;
delete c_objfrom;
delete c_objtill;
delete c_objfromvalue;
delete c_objtillvalue;
return result;
}

Loading…
Cancel
Save