@@ -2135,7 +2135,7 @@ int ClpSimplexOther::parametrics(double startingTheta, double &endingTheta, doub
2135
2135
}
2136
2136
if (maxTheta < endingTheta) {
2137
2137
char line[100 ];
2138
- sprintf (line, " Crossover considerations reduce ending theta from %g to %g\n " ,
2138
+ snprintf (line, sizeof (line) , " Crossover considerations reduce ending theta from %g to %g\n " ,
2139
2139
endingTheta, maxTheta);
2140
2140
handler_->message (CLP_GENERAL, messages_)
2141
2141
<< line << CoinMessageEol;
@@ -2247,7 +2247,7 @@ int ClpSimplexOther::parametrics(double startingTheta, double &endingTheta, doub
2247
2247
copyModel.dual ();
2248
2248
if (copyModel.problemStatus ()) {
2249
2249
char line[100 ];
2250
- sprintf (line, " Can not get to theta of %g\n " , startingTheta);
2250
+ snprintf (line, sizeof (line) , " Can not get to theta of %g\n " , startingTheta);
2251
2251
handler_->message (CLP_GENERAL, messages_)
2252
2252
<< line << CoinMessageEol;
2253
2253
canTryQuick = false ; // do slowly to get exact amount
@@ -2272,7 +2272,7 @@ int ClpSimplexOther::parametrics(double startingTheta, double &endingTheta, doub
2272
2272
}
2273
2273
perturbation_ = savePerturbation;
2274
2274
char line[100 ];
2275
- sprintf (line, " Ending theta %g\n " , endingTheta);
2275
+ snprintf (line, sizeof (line) , " Ending theta %g\n " , endingTheta);
2276
2276
handler_->message (CLP_GENERAL, messages_)
2277
2277
<< line << CoinMessageEol;
2278
2278
return problemStatus_;
@@ -2291,8 +2291,8 @@ int ClpSimplexOther::parametrics(const char *dataFile)
2291
2291
return -2 ;
2292
2292
}
2293
2293
2294
- if (!fgets (line, 200 , fp)) {
2295
- sprintf (line, " Empty parametrics file %s?" , dataFile);
2294
+ if (!fgets (line, sizeof (line) , fp)) {
2295
+ snprintf (line, sizeof (line) , " Empty parametrics file %s?" , dataFile);
2296
2296
handler_->message (CLP_GENERAL, messages_)
2297
2297
<< line << CoinMessageEol;
2298
2298
fclose (fp);
@@ -2369,14 +2369,14 @@ int ClpSimplexOther::parametrics(const char *dataFile)
2369
2369
intervalTheta = 0.0 ;
2370
2370
if (!good) {
2371
2371
char line2[300 ];
2372
- sprintf (line2, " Odd first line %s on file %s?" , line, dataFile);
2372
+ snprintf (line2, sizeof (line2) , " Odd first line %s on file %s?" , line, dataFile);
2373
2373
handler_->message (CLP_GENERAL, messages_)
2374
2374
<< line2 << CoinMessageEol;
2375
2375
fclose (fp);
2376
2376
return -2 ;
2377
2377
}
2378
- if (!fgets (line, 200 , fp)) {
2379
- sprintf (line, " Not enough records on parametrics file %s?" , dataFile);
2378
+ if (!fgets (line, sizeof (line) , fp)) {
2379
+ snprintf (line, sizeof (line) , " Not enough records on parametrics file %s?" , dataFile);
2380
2380
handler_->message (CLP_GENERAL, messages_)
2381
2381
<< line << CoinMessageEol;
2382
2382
fclose (fp);
@@ -2460,7 +2460,7 @@ int ClpSimplexOther::parametrics(const char *dataFile)
2460
2460
int nLine = 0 ;
2461
2461
// int nBadLine = 0;
2462
2462
int nBadName = 0 ;
2463
- while (fgets (line, 200 , fp)) {
2463
+ while (fgets (line, sizeof (line) , fp)) {
2464
2464
if (!strncmp (line, " ENDATA" , 6 ) || !strncmp (line, " COLUMN" , 6 ))
2465
2465
break ;
2466
2466
nLine++;
@@ -2537,11 +2537,11 @@ int ClpSimplexOther::parametrics(const char *dataFile)
2537
2537
strcpy (saveLine, line);
2538
2538
}
2539
2539
}
2540
- sprintf (line, " %d Row fields and %d records" , nAcross, nLine);
2540
+ snprintf (line, sizeof (line) , " %d Row fields and %d records" , nAcross, nLine);
2541
2541
handler_->message (CLP_GENERAL, messages_)
2542
2542
<< line << CoinMessageEol;
2543
2543
if (nBadName) {
2544
- sprintf (line, " ** %d records did not match on name/sequence, first bad %s" , nBadName, saveLine);
2544
+ snprintf (line, sizeof (line) , " ** %d records did not match on name/sequence, first bad %s" , nBadName, saveLine);
2545
2545
handler_->message (CLP_GENERAL, messages_)
2546
2546
<< line << CoinMessageEol;
2547
2547
returnCode = -1 ;
@@ -2552,16 +2552,16 @@ int ClpSimplexOther::parametrics(const char *dataFile)
2552
2552
}
2553
2553
delete[] rowNames;
2554
2554
} else {
2555
- sprintf (line, " Duplicate or unknown keyword - or name/number fields wrong" );
2555
+ snprintf (line, sizeof (line) , " Duplicate or unknown keyword - or name/number fields wrong" );
2556
2556
handler_->message (CLP_GENERAL, messages_)
2557
2557
<< line << CoinMessageEol;
2558
2558
returnCode = -1 ;
2559
2559
good = false ;
2560
2560
}
2561
2561
}
2562
2562
if (good && (!strncmp (line, " COLUMN" , 6 ) || !strncmp (line, " column" , 6 ))) {
2563
- if (!fgets (line, 200 , fp)) {
2564
- sprintf (line, " Not enough records on parametrics file %s after COLUMNS?" , dataFile);
2563
+ if (!fgets (line, sizeof (line) , fp)) {
2564
+ snprintf (line, sizeof (line) , " Not enough records on parametrics file %s after COLUMNS?" , dataFile);
2565
2565
handler_->message (CLP_GENERAL, messages_)
2566
2566
<< line << CoinMessageEol;
2567
2567
fclose (fp);
@@ -2632,7 +2632,7 @@ int ClpSimplexOther::parametrics(const char *dataFile)
2632
2632
int nLine = 0 ;
2633
2633
// int nBadLine = 0;
2634
2634
int nBadName = 0 ;
2635
- while (fgets (line, 200 , fp)) {
2635
+ while (fgets (line, sizeof (line) , fp)) {
2636
2636
if (!strncmp (line, " ENDATA" , 6 ))
2637
2637
break ;
2638
2638
nLine++;
@@ -2711,11 +2711,11 @@ int ClpSimplexOther::parametrics(const char *dataFile)
2711
2711
strcpy (saveLine, line);
2712
2712
}
2713
2713
}
2714
- sprintf (line, " %d Column fields and %d records" , nAcross, nLine);
2714
+ snprintf (line, sizeof (line) , " %d Column fields and %d records" , nAcross, nLine);
2715
2715
handler_->message (CLP_GENERAL, messages_)
2716
2716
<< line << CoinMessageEol;
2717
2717
if (nBadName) {
2718
- sprintf (line, " ** %d records did not match on name/sequence, first bad %s" , nBadName, saveLine);
2718
+ snprintf (line, sizeof (line) , " ** %d records did not match on name/sequence, first bad %s" , nBadName, saveLine);
2719
2719
handler_->message (CLP_GENERAL, messages_)
2720
2720
<< line << CoinMessageEol;
2721
2721
returnCode = -1 ;
@@ -2726,7 +2726,7 @@ int ClpSimplexOther::parametrics(const char *dataFile)
2726
2726
}
2727
2727
delete[] columnNames;
2728
2728
} else {
2729
- sprintf (line, " Duplicate or unknown keyword - or name/number fields wrong" );
2729
+ snprintf (line, sizeof (line) , " Duplicate or unknown keyword - or name/number fields wrong" );
2730
2730
handler_->message (CLP_GENERAL, messages_)
2731
2731
<< line << CoinMessageEol;
2732
2732
returnCode = -1 ;
@@ -3282,7 +3282,7 @@ int ClpSimplexOther::parametrics(double startingTheta, double &endingTheta,
3282
3282
delete rowArray_[5 ];
3283
3283
rowArray_[5 ] = NULL ;
3284
3284
char line[100 ];
3285
- sprintf (line, " Ending theta %g\n " , endingTheta);
3285
+ snprintf (line, sizeof (line) , " Ending theta %g\n " , endingTheta);
3286
3286
handler_->message (CLP_GENERAL, messages_)
3287
3287
<< line << CoinMessageEol;
3288
3288
return problemStatus_;
@@ -5932,7 +5932,7 @@ ClpSimplexOther::gubVersion(int *whichRows, int *whichColumns,
5932
5932
}
5933
5933
}
5934
5934
if (!numberNormal) {
5935
- sprintf (message, " Putting back one gub row to make non-empty" );
5935
+ snprintf (message, sizeof (message) , " Putting back one gub row to make non-empty" );
5936
5936
handler_->message (CLP_GENERAL2, messages_)
5937
5937
<< message << CoinMessageEol;
5938
5938
rowIsGub[smallestGubRow] = -1 ;
@@ -6146,7 +6146,7 @@ ClpSimplexOther::gubVersion(int *whichRows, int *whichColumns,
6146
6146
}
6147
6147
}
6148
6148
}
6149
- sprintf (message, " ** Before adding matrix there are %d rows and %d columns" ,
6149
+ snprintf (message, sizeof (message) , " ** Before adding matrix there are %d rows and %d columns" ,
6150
6150
model2->numberRows (), model2->numberColumns ());
6151
6151
handler_->message (CLP_GENERAL2, messages_)
6152
6152
<< message << CoinMessageEol;
0 commit comments