Just to be pedantic: you haven't "fixed" anything, you've gotten it to compile.
Specifically you've gotten it to compile by lying about what platform you're on to the preprocessor and compiler. While this may be OK for emergencies, it's not the kind of thing you'd want to trust for a real, long term solution (think the equivalent of a mechanic using duct tape to strap something down in the middle of a race versus actually repairing or replacing the broken part). There could be subtle differences, for instance in edge cases where some routine returns different values on Cygwin than Win32 (hence the reason it was trying to distinguish between the two to begin with).
The "right" thing to do is for someone who is familiar with C to look at it and figure out what really does need to be conditional on just Cygwin and what will behave nice on naked Wintendo. But certainly send the results to the maintainer or the relevant mailing list to let them know what you've gotten working, and ask if anyone can take a crack at it (offering to help by trying patches if they don't have access to a Windows box will probably get you much further as well).
We're looking for people in ATL
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link or
or How to display code and escape characters
are good places to start.