[Coin-discuss] CoinUtils CoinMpsIO.cpp CoinConvertDouble char outputValue[20]

John J Forrest jjforre at us.ibm.com
Tue Jul 3 10:42:49 EDT 2007


Unless there is a sophisticated bound checker at work, it will not matter 
as data passed in is char[24] and char[20] will be same as char * in 
declaration.

I will change [20] to [24] in trunk to make aesthetically more pleasing.

John Forrest



"Cheng,Jen-Min" <jcheng at mwdh2o.com> 
Sent by: coin-discuss-bounces at list.coin-or.org
07/03/2007 10:10 AM
Please respond to
Discussions about open source software for Operations Research 
<coin-discuss at list.coin-or.org>


To
<coin-discuss at list.coin-or.org>
cc

Subject
[Coin-discuss] CoinUtils CoinMpsIO.cpp CoinConvertDouble char 
outputValue[20]








The outputValue is decalred as char [20] in both CoinMpsIO.cpp and 
CoinMpsIO.hpp. 
void 
CoinConvertDouble(int section, int formatType, double value, char 
outputValue[20]) 
void 
CoinConvertDouble(int section, int formatType, double value, char 
outputValue[20]); 

In the code, outputValue is initialized to be 24 spaces, which exceeds 
char [20]. 
    if (fabs(value)<1.0e40) { 
      memset(outputValue,' ',24); 
      for (j=0;j<23;j++) { 
        if (outputValue[j]!=' ') 
          outputValue[i++]=outputValue[j]; 
      } 
ClpSimpexOther passes char number[20] to CoinConvertDouble. 
int 
ClpSimplexOther::writeBasis(const char *filename, 
                            bool writeValues, 
                            int formatType) const 
  char number[20]; 
      CoinConvertDouble(0,formatType,columnActivity_[iColumn],number); 

convertDouble passes char outputValue[24] to CoinConvertDouble. 
static void 
convertDouble(int section,int formatType, double value, char 
outputValue[24], 
              const char * name, char outputRow[100]) 
{ 
  convertRowName(formatType,name,outputRow); 
  CoinConvertDouble(section,formatType&3,value,outputValue); 
} 


Will such a practice mess up the data?  Thanks. 

_______________________________________________
Coin-discuss mailing list
Coin-discuss at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/coin-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/coin-discuss/attachments/20070703/8d022cb5/attachment.html>


More information about the Coin-discuss mailing list