<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. For A Win32 user, this has really made compile much easier with MSVC2008. 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. 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>
char** argv,<br>
const char* options,<br>
const struct option* long_options,<br>
int* opt_index)<br>
#else // WIN32<br>
int getopt_long(<br>
argc,<br>
argv,<br>
options,<br>
long_options,<br>
opt_index)<br>
int argc;<br>
char *const *argv;<br>
const char *options;<br>
const struct option *long_options;<br>
int *opt_index;<br>
#endif // WIN32<br>
{<br>
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>
char* const* argv,<br>
const char* options,<br>
const struct option* long_options,<br>
int* opt_index)<br>
{<br>
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. 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 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>