<font color='black' size='2' face='arial'><font color="black" face="arial" size="2">

<div style="font-family: arial,helvetica; font-size: 10pt; color: black;">


<div id="AOLMsgPart_2_8268cbb0-f162-48c1-8f67-6090f52e6e65">

<font color="black" face="arial" size="2"><font color="black" face="arial" size="2">



<div> <br>



</div>







<div> <font face="Arial, Helvetica, sans-serif">Tobi,<br>
<br>
First off, thanks for 1.4.4.&nbsp; For A Win32 user, this has really made compile much easier with MSVC2008.&nbsp; I'm not sure if anyone has tried the WIN32 compile yet here, but I have found some issues.<br>
<br>
It looks like rrd_getopt.h, rrd_getopt1.c, and rrd_getopt.c have some changes that may have inadvertently (bug?) lost the WIN32 compiler directives for the get_opt_long and _get_opt_internal function calls.<br>
<br>
MSVC2008 was giving compile errors on rrd_getopt1.c with the argv handling in the above functions in 1.4.4. &nbsp; WIN32 versions of these function are much different in their argument definitions).<br>
<br>
I went back to my last known win32 compile of rddtool (1.3.8) and noticed that many #ifdef WIN32 sections were not present in 1.4.4 versions of rrd_getopt.h, rrd_getopt1.c, and rrd_getopt.c.<br>
<br>
As an example:<br>
<br>
Definition of getopt_long from rrd_getopt1.c (rrd source version 1.3.8)<br>
<br>
#ifdef WIN32<br>
int getopt_long(int argc,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char** argv,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const char* options,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const struct option* long_options,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int* opt_index)<br>
#else // WIN32<br>
int getopt_long(<br>
&nbsp;&nbsp;&nbsp; argc,<br>
&nbsp;&nbsp;&nbsp; argv,<br>
&nbsp;&nbsp;&nbsp; options,<br>
&nbsp;&nbsp;&nbsp; long_options,<br>
&nbsp;&nbsp;&nbsp; opt_index)<br>
&nbsp;&nbsp;&nbsp; int argc;<br>
&nbsp;&nbsp;&nbsp; char&nbsp;&nbsp;&nbsp;&nbsp; *const *argv;<br>
&nbsp;&nbsp;&nbsp; const char *options;<br>
&nbsp;&nbsp;&nbsp; const struct option *long_options;<br>
&nbsp;&nbsp;&nbsp; int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *opt_index;<br>
#endif // WIN32<br>
{<br>
&nbsp;&nbsp;&nbsp; return _getopt_internal(argc, argv, options, long_options, opt_index, 0);<br>
}<br>
<br>
<br>
</font><font color="black" face="arial" size="2"><font color="black" face="arial" size="2"><font color="black" face="arial" size="2"><font face="Arial, Helvetica, sans-serif">Compare with definition of getopt_long from rrd_getopt1.c (rrd source version 1.4.4)</font></font></font></font>.<br>
<font face="Arial, Helvetica, sans-serif">(this function will throw errors on WIN32 compile with regards to the argv casting)<br>
<br>
int getopt_long(int argc,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char* const* argv,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const char* options,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const struct option* long_options,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int* opt_index)<br>
{<br>
&nbsp;&nbsp;&nbsp; return _getopt_internal(argc, argv, options, long_options, opt_index, 0);<br>
}<br>
<br>
<br>
After doing some diffs and merging the missing Win32 conditional compile directives back in for these files, I got 1.4.4 to compile.&nbsp; My work was hack and slash and I'm not yet familiar enough with your diff and repository tools to attempt a clean submission, but maybe&nbsp; you can see this problem from your view/compare.<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</font>


</div>







<div style="clear: both;"></div>



</font></font>

</div>

 <!-- end of AOLMsgPart_2_8268cbb0-f162-48c1-8f67-6090f52e6e65 -->
</div>

</font></font>