<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7651.59">
<TITLE>CoinUtils CoinMpsIO.cpp  CoinConvertDouble  char outputValue[20]</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<BR>
<BR>

<P><FONT SIZE=4 FACE="Courier New">The outputValue is decalred as char [20] in both CoinMpsIO.cpp and CoinMpsIO.hpp.&nbsp; </FONT>
</P>

<P><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">void</FONT>

<BR><FONT SIZE=2 FACE="Courier New">CoinConvertDouble(</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> section, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> formatType, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">double</FONT><FONT SIZE=2 FACE="Courier New"> value, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New"> outputValue[20])</FONT>
</P>

<P><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">void</FONT>

<BR><FONT SIZE=2 FACE="Courier New">CoinConvertDouble(</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> section, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> formatType, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">double</FONT><FONT SIZE=2 FACE="Courier New"> value, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New"> outputValue[20]);</FONT>
</P>
<BR>

<P><FONT SIZE=4 FACE="Courier New">In the code, outputValue is initialized to be 24 spaces, which exceeds char [20].</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp; </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">if</FONT><FONT SIZE=2 FACE="Courier New"> (fabs(value)&lt;1.0e40) {</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; memset(outputValue,</FONT><FONT COLOR="#A31515" SIZE=2 FACE="Courier New">' '</FONT><FONT SIZE=2 FACE="Courier New">,24);</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">for</FONT><FONT SIZE=2 FACE="Courier New"> (j=0;j&lt;23;j++) {</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">if</FONT><FONT SIZE=2 FACE="Courier New"> (outputValue[j]!=</FONT><FONT COLOR="#A31515" SIZE=2 FACE="Courier New">' '</FONT><FONT SIZE=2 FACE="Courier New">)</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">&nbsp; outputValue[i++]=outputValue[j];</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT>
</P>

<P><FONT SIZE=4 FACE="Courier New">ClpSimpexOther passes char number[20] to CoinConvertDouble.&nbsp; </FONT>
</P>

<P><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> </FONT>

<BR><FONT SIZE=2 FACE="Courier New">ClpSimplexOther::writeBasis(</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New"> *filename,</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp; </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">bool</FONT><FONT SIZE=2 FACE="Courier New"> writeValues,</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp; </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> formatType) </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp; </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New"> number[20];</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CoinConvertDouble(0,formatType,columnActivity_[iColumn],number);</FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Courier New">convertDouble passes char outputValue[24] to CoinConvertDouble.&nbsp;&nbsp; </FONT>
</P>

<P><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">static</FONT><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">void</FONT>

<BR><FONT SIZE=2 FACE="Courier New">convertDouble(</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> section,</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> formatType, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">double</FONT><FONT SIZE=2 FACE="Courier New"> value, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New"> outputValue[24],</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New"> * name, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New"> outputRow[100])</FONT>

<BR><FONT SIZE=2 FACE="Courier New">{</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp; convertRowName(formatType,name,outputRow);</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp; CoinConvertDouble(section,formatType&amp;3,value,outputValue);</FONT>

<BR><FONT SIZE=2 FACE="Courier New">}</FONT>
</P>
<BR>
<BR>

<P><B><FONT SIZE=4 FACE="Courier New">Will such a practice mess up the data?&nbsp; Thanks.</FONT></B>
</P>
<BR>
<BR>

</BODY>
</HTML>