Skip to content

Commit

Permalink
- fix some findings from cppcheck
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@18478 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
Henning Kiel committed Dec 13, 2013
1 parent e44974e commit 8b157b0
Show file tree
Hide file tree
Showing 14 changed files with 53 additions and 50 deletions.
1 change: 1 addition & 0 deletions Compiler/runtime/HpcOmBenchmarkExt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,7 @@ class XmlBenchReader {

} while (!done);
XML_ParserFree(parser);
fclose(xmlFile);

//Copy equation list to result list
for (std::list<Equation*>::iterator it = eqList.begin();
Expand Down
1 change: 1 addition & 0 deletions Compiler/runtime/SimulationResults.c
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@ static double SimulationResultsImpl__val(const char *filename, const char *varna
return NAN;
}
} while (strcmp(strToFind,line));
free(strToFind);
while (fscanf(simresglob->pltReader,"%lg, %lg\n",&t,&v) == 2) {
nread++;
if (t > timeStamp) break;
Expand Down
2 changes: 1 addition & 1 deletion Compiler/runtime/SimulationResultsCmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -654,7 +654,6 @@ void* SimulationResultsCmp_compareResults(int isResultCmp, int runningTestsuite,
cmpvars = getVars(allvarsref,&ncmpvars);
if (ncmpvars==0) return mk_cons(mk_scon("Error Get Vars!"),mk_nil());
}
cmpdiffvars = (char**)malloc(sizeof(char*)*(ncmpvars));
#ifdef DEBUGOUTPUT
fprintf(stderr, "Compare Vars:\n");
for(i=0;i<ncmpvars;i++)
Expand All @@ -673,6 +672,7 @@ void* SimulationResultsCmp_compareResults(int isResultCmp, int runningTestsuite,
if (timeref.n==0) {
return mk_cons(mk_scon("Error get ref time!"),mk_nil());
}
cmpdiffvars = (char**)malloc(sizeof(char*)*(ncmpvars));
/* check if time is larger or less reftime */
res = mk_nil();
if (fabs(time.data[time.n-1]-timeref.data[timeref.n-1]) > reltol*fabs(timeref.data[timeref.n-1])) {
Expand Down
4 changes: 2 additions & 2 deletions Compiler/runtime/SimulationResultsCmpTubes.c
Original file line number Diff line number Diff line change
Expand Up @@ -726,15 +726,15 @@ static unsigned int cmpDataTubes(int isResultCmp, char* varname, DataField *time
} else {
fprintf(fout, "%.15g,%.15g,%.15g,%.15g",calibrated_values[i],high[i],low[i],error[i]);
}
if (ref.time[i] == actualoriginal.time[j] && j < actualoriginal.size) {
if (j < actualoriginal.size && ref.time[i] == actualoriginal.time[j]) {
fprintf(fout, ",%.15g%s\n",actualoriginal.values[j++],rbracket);
} else {
fprintf(fout, ",%s%s\n",empty,rbracket);
}
} else {
fputs(isHtml ? "null,null,null,null,null],\n" : ",,,,\n", fout);
}
while (ref.time[i] > actualoriginal.time[j] && j < actualoriginal.size) {
while (j < actualoriginal.size && ref.time[i] > actualoriginal.time[j]) {
fprintf(fout, "%s%.15g,%s,%s,%s,%s,%s,%.15g%s\n",lbracket,actualoriginal.time[j],empty,empty,empty,empty,empty,actualoriginal.values[j],rbracket);
j++;
}
Expand Down
1 change: 1 addition & 0 deletions Compiler/runtime/TaskGraphResultsCmp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -445,6 +445,7 @@ void GraphMLParser::ParseGraph(Graph *currentGraph, const char* fileName, bool (
}
} while (!done);
XML_ParserFree(parser);
fclose(graphFile);

//Add all elements of the node-set to the graph
for (std::set<Node*, bool (*)(Node*, Node*)>::iterator iter = userData.nodeSet->begin(); iter != userData.nodeSet->end(); iter++)
Expand Down
10 changes: 5 additions & 5 deletions Compiler/runtime/errorext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ static void pop_message(threadData_t *threadData, bool rollback)
ErrorMessage *msg = members->errorMessageQueue->top();
if (msg->getSeverity() == ErrorLevel_error || msg->getSeverity() == ErrorLevel_internal) members->numErrorMessages--;
members->errorMessageQueue->pop();
pop_more = (members->errorMessageQueue->size() > 0 && !(rollback && members->errorMessageQueue->size() <= members->checkPoints->back().first) && msg->getFullMessage() == members->errorMessageQueue->top()->getFullMessage());
pop_more = (!(members->errorMessageQueue->empty()) && !(rollback && members->errorMessageQueue->size() <= members->checkPoints->back().first) && msg->getFullMessage() == members->errorMessageQueue->top()->getFullMessage());
delete msg;
} while (pop_more);
}
Expand Down Expand Up @@ -235,7 +235,7 @@ static void printCheckpointStack(threadData_t *threadData)
{
cp = (*members->checkPoints)[i];
printf("%5d %s message:", i, cp.second.c_str());
while(members->errorMessageQueue->size() > cp.first && members->errorMessageQueue->size() > 0){
while(members->errorMessageQueue->size() > cp.first && !members->errorMessageQueue->empty()){
res = members->errorMessageQueue->top()->getMessage()+string(" ")+res;
pop_message(threadData,false);
}
Expand Down Expand Up @@ -284,10 +284,10 @@ extern void ErrorImpl__rollBack(threadData_t *threadData,const char* id)
// fprintf(stderr, "rollBack(%s)\n",id); fflush(NULL);
if (members->checkPoints->size() > 0){
//printf(" ERROREXT: rollback to: %d from %d\n",checkPoints->back(),errorMessageQueue->size());
std::string res("");
//std::string res("");
//printf(res.c_str());
//printf(" rollback from: %d to: %d\n",errorMessageQueue->size(),checkPoints->back().first);
while(members->errorMessageQueue->size() > members->checkPoints->back().first && members->errorMessageQueue->size() > 0){
while(members->errorMessageQueue->size() > members->checkPoints->back().first && !members->errorMessageQueue->empty()){
//printf("*** %d deleted %d ***\n",errorMessageQueue->size(),checkPoints->back().first);
/*if(!errorMessageQueue->empty()){
res = res+errorMessageQueue->top()->getMessage()+string("\n");
Expand Down Expand Up @@ -321,7 +321,7 @@ extern char* ErrorImpl__rollBackAndPrint(threadData_t *threadData,const char* id
std::string res("");
// fprintf(stderr, "rollBackAndPrint(%s)\n",id); fflush(stderr);
if (members->checkPoints->size() > 0){
while(members->errorMessageQueue->size() > members->checkPoints->back().first && members->errorMessageQueue->size() > 0){
while(members->errorMessageQueue->size() > members->checkPoints->back().first && !members->errorMessageQueue->empty()){
res = members->errorMessageQueue->top()->getMessage()+string("\n")+res;
pop_message(threadData,true);
}
Expand Down
3 changes: 1 addition & 2 deletions Compiler/runtime/settingsimpl.c
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,6 @@ extern const char* SettingsImpl__getTempDirectoryPath(void)
// which is usually TMP or TEMP or windows catalogue.
#ifdef WIN32
int numChars;
char* str,str1;
char tempDirectory[1024];
//extract the temp path
numChars= GetTempPath(1024, tempDirectory);
Expand All @@ -293,7 +292,7 @@ extern const char* SettingsImpl__getTempDirectoryPath(void)
exit(1);
} else {
// Must do replacement in two steps, since the _replace function can not have similar source as target.
str = _replace(tempDirectory, (char*)"\\", (char*)"/");
char *str = _replace(tempDirectory, (char*)"\\", (char*)"/");
tempDirectoryPath= _replace(str, (char*)"/", (char*)"\\\\");
free(str);
}
Expand Down
1 change: 1 addition & 0 deletions Compiler/runtime/systemimpl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1019,6 +1019,7 @@ extern char* SystemImpl__readFileNoNumeric(const char* filename)
buf = (char*) GC_malloc_atomic(statstr.st_size+1);
bufRes = (char*) GC_malloc_atomic((statstr.st_size+70)*sizeof(char));
if( (res = fread(buf, sizeof(char), statstr.st_size, file)) != statstr.st_size) {
fclose(file);
return "Failed while reading file";
}
buf[statstr.st_size] = '\0';
Expand Down
6 changes: 3 additions & 3 deletions Compiler/runtime/unitparser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ bool Unit::isDimensionless() {
if (!(*p).isZero())
return false;
}
return (typeParamVec.size() == 0);
return (typeParamVec.empty());
}

bool Unit::isBaseUnit() {
Expand Down Expand Up @@ -370,9 +370,9 @@ void UnitParser::accumulateWeight(const string unitSymbol, double weight) {
UnitRes UnitParser::commit() {
list<DerivedInfo> tmp;
int initSize = _tempDerived.size();
while (_tempDerived.size() != 0) {
while (!_tempDerived.empty()) {
unsigned int startSize = _tempDerived.size();
while (_tempDerived.size() != 0) {
while (!_tempDerived.empty()) {
DerivedInfo d = _tempDerived.front();
UnitRes res = addDerivedInternal(d.quantityName, d.unitName,
d.unitSymbol, d.unitStrExp, d.prefixExpo, d.scaleFactor,
Expand Down
14 changes: 3 additions & 11 deletions SimulationRuntime/c/meta/realString.c
Original file line number Diff line number Diff line change
Expand Up @@ -168,17 +168,9 @@ static void* dtostr(double d)
strcpy(res,cp);
res += ndig;
} else {
if (expt == 0) {
*res++ = '0';
*res++ = '.';
} else {
*res++ = *cp++;
if (expt && ndig > 1) *res++ = '.';
if (expt == 1 && ndig == 1) {
*res++ = '.';
*res++ = '0';
}
}
*res++ = *cp++;
if (ndig > 1) *res++ = '.';

strcpy(res,cp);
res += ndig-1;
if (expt) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -290,12 +290,12 @@ void computeInitialResidualScalingCoefficients(INIT_DATA *initData)
{
long i, j, ix;

double *tmpResidual1 = (double*)calloc(initData->nInitResiduals, sizeof(double));
double *tmpResidual2 = (double*)calloc(initData->nInitResiduals, sizeof(double));
double *tmpStartResidual1 = (double*)calloc(initData->nStartValueResiduals, sizeof(double));
double *tmpStartResidual2 = (double*)calloc(initData->nStartValueResiduals, sizeof(double));
double *residualScalingCoefficients = (double*)calloc(initData->nInitResiduals, sizeof(double));
double *startValueResidualScalingCoefficients = (double*)calloc(initData->nStartValueResiduals, sizeof(double));
double *tmpResidual1;
double *tmpResidual2;
double *tmpStartResidual1;
double *tmpStartResidual2;
double *residualScalingCoefficients;
double *startValueResidualScalingCoefficients;

const double h = 1e-6;

Expand All @@ -304,6 +304,13 @@ void computeInitialResidualScalingCoefficients(INIT_DATA *initData)
if(!(initData->nominal && initData->residualScalingCoefficients && initData->startValueResidualScalingCoefficients))
return;

tmpResidual1 = (double*)calloc(initData->nInitResiduals, sizeof(double));
tmpResidual2 = (double*)calloc(initData->nInitResiduals, sizeof(double));
tmpStartResidual1 = (double*)calloc(initData->nStartValueResiduals, sizeof(double));
tmpStartResidual2 = (double*)calloc(initData->nStartValueResiduals, sizeof(double));
residualScalingCoefficients = (double*)calloc(initData->nInitResiduals, sizeof(double));
startValueResidualScalingCoefficients = (double*)calloc(initData->nStartValueResiduals, sizeof(double));

for(i=0; i<initData->nInitResiduals; ++i)
initData->residualScalingCoefficients[i] = 1.0;
for(i=0; i<initData->nStartValueResiduals; ++i)
Expand All @@ -324,11 +331,11 @@ void computeInitialResidualScalingCoefficients(INIT_DATA *initData)
if(data->modelData.realParameterData[i].attribute.useStart && !data->modelData.realParameterData[i].attribute.fixed)
tmpStartResidual1[ix++] = data->modelData.realParameterData[i].attribute.start - data->localData[0]->realVars[i];
/* for real discrete */
for(i=data->modelData.nVariablesReal-data->modelData.nDiscreteReal; i<data->modelData.nDiscreteReal; ++i)
if(data->modelData.realVarsData[j].attribute.useStart && !data->modelData.realVarsData[j].attribute.fixed)
for(i=data->modelData.nVariablesReal-data->modelData.nDiscreteReal; i<data->modelData.nVariablesReal; ++i)
if(data->modelData.realVarsData[i].attribute.useStart && !data->modelData.realVarsData[i].attribute.fixed)
tmpStartResidual1[ix++] = data->modelData.realVarsData[i].attribute.start - data->localData[0]->realVars[i];
for(i=0; i<initData->nVars; ++i)

for(i=0; i<initData->nVars; ++i)
{
initData->vars[i] += h;

Expand All @@ -337,7 +344,7 @@ void computeInitialResidualScalingCoefficients(INIT_DATA *initData)
tmpResidual2[j] = initData->initialResiduals[j];

ix = 0;

/* TODO: is data->localData[0]->realVars[j] correct??? */
/* for real variables */
for(j=0; j<data->modelData.nVariablesReal; ++j)
Expand All @@ -348,7 +355,7 @@ void computeInitialResidualScalingCoefficients(INIT_DATA *initData)
if(data->modelData.realParameterData[j].attribute.useStart && !data->modelData.realParameterData[j].attribute.fixed)
tmpStartResidual2[ix++] = data->modelData.realParameterData[j].attribute.start - data->localData[0]->realVars[j];
/* for real discrete */
for(j=data->modelData.nVariablesReal-data->modelData.nDiscreteReal; j<data->modelData.nDiscreteReal; ++j)
for(j=data->modelData.nVariablesReal-data->modelData.nDiscreteReal; j<data->modelData.nVariablesReal; ++j)
if(data->modelData.realVarsData[j].attribute.useStart && !data->modelData.realVarsData[j].attribute.fixed)
tmpStartResidual2[ix++] = data->modelData.realVarsData[j].attribute.start - data->localData[0]->realVars[j];

Expand Down Expand Up @@ -466,7 +473,7 @@ void updateSimData(INIT_DATA *initData)
for(i=0; i<initData->simData->modelData.nParametersReal; ++i)
if(initData->simData->modelData.realParameterData[i].attribute.fixed == 0)
initData->simData->simulationInfo.realParameter[i] = initData->vars[j++];

/* for real discrete */
for(i=initData->simData->modelData.nVariablesReal-initData->simData->modelData.nDiscreteReal; i<initData->simData->modelData.nVariablesReal; ++i)
if(initData->simData->modelData.realVarsData[i].attribute.fixed == 0)
Expand Down
22 changes: 11 additions & 11 deletions SimulationRuntime/c/simulation/solver/nonlinearSolverNewton.c
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ int solveNewton(DATA *data, int sysNumber)
/* check for error */
xerror_scaled = enorm_(&solverData->n, solverData->resScaling);
xerror = enorm_(&solverData->n, solverData->fvec);

/* solution found */
if((xerror <= solverData->ftol || xerror_scaled <= solverData->ftol) && solverData->info > 0)
{
Expand Down Expand Up @@ -312,15 +312,15 @@ int solveNewton(DATA *data, int sysNumber)
nfunc_evals += solverData->nfev;
infoStreamPrint(LOG_NLS, 0, " - iteration making no progress:\t vary solution point by 1%%.");
/* try to vary the initial values */
}
else if(retries < 2)
{
for(i = 0; i < solverData->n; i++)
solverData->x[i] = systemData->nominal[i];
retries++;
giveUp = 0;
nfunc_evals += solverData->nfev;
infoStreamPrint(LOG_NLS, 0, " - iteration making no progress:\t try nominal values as initial solution.");
}
else if(retries < 3)
{
for(i = 0; i < solverData->n; i++)
solverData->x[i] = systemData->nominal[i];
retries++;
giveUp = 0;
nfunc_evals += solverData->nfev;
infoStreamPrint(LOG_NLS, 0, " - iteration making no progress:\t try nominal values as initial solution.");
}
else
{
Expand All @@ -335,7 +335,7 @@ int solveNewton(DATA *data, int sysNumber)
}
}
}

if (ACTIVE_STREAM(LOG_NLS)) messageClose(LOG_NLS);

/* take the best approximation */
Expand Down
1 change: 1 addition & 0 deletions SimulationRuntime/c/util/read_csv.c
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,7 @@ struct csv_data* read_csv(const char *filename)
}
variables = read_csv_variables(fin,&dummy);
if (!variables) {
fclose(fin);
return NULL;
}
fseek(fin,0,SEEK_SET);
Expand Down
4 changes: 2 additions & 2 deletions SimulationRuntime/c/util/ringbuffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,6 @@ int ringBufferLength(RINGBUFFER *rb)

void rotateRingBuffer(RINGBUFFER *rb, int n, void **lookup)
{
long i;

assertStreamPrint(rb->nElements > 0, 0, "empty RingBuffer");
assertStreamPrint(n < rb->nElements, 0, "index [%d] out of range [%d:%d]", n, 0, rb->nElements-1);
assertStreamPrint(0 <= n, 0, "index [%d] out of range [%d:%d]", n, 0, rb->nElements-1);
Expand All @@ -132,6 +130,8 @@ void rotateRingBuffer(RINGBUFFER *rb, int n, void **lookup)

if(lookup)
{
long i;

for(i=0; i<rb->nElements; ++i){
lookup[i] = getRingData(rb, i);
}
Expand Down

0 comments on commit 8b157b0

Please sign in to comment.