On Sun, Mar 08, 2009 at 06:27:17PM -0700, buildbot-no-re...@wireshark.org wrote:
> Buildslave for this Build: windows-xp-x86 > BUILD FAILED: failed nmake all This is being caused by the introduction of the following code in SVN revision 27667: case FT_INT64: case FT_UINT64: if (hfinfo->display & BASE_RANGE_STRING) { str = match_strrval(fvalue_get_integer64(&finfo->value), hfinfo->strings); } else { str = match_strval(fvalue_get_integer64(&finfo->value), hfinfo->strings); } break; On Windows, MSVC complains that this is a conversion of a guint64 to a guint32 as match_strval() and match_strrval() (and val_to_str() and rval_to_str() for that matter) take a guint32 as an index and fvalue_get_integer64() is returning a guint64. The Unix compilers don't seem to care. On MacOS X, Apple introduced a -Wshorten-64-to-32 option that would catch this. In a more general sense, gcc has a -Wconversion option that would catch this and many other things. I started to fix it by changing the index to accept guint64 values, but wondered if it is worth the extra overhead? Then I realized that in the VNC dissector, we're using negative (signed) values for some of the indices in value strings even though they're being converted to unsigned (presumably - I haven't looked at the code for VALS() lately). Opinions? Remember, if we change these to accept guint64 or something else, doc/README.developer needs to reflect that. Steve ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe