ronnie sahlberg said: > Why do you need a define to specify the byte order? You are not taking > a poitner using tvb_get_ptr() and casting it into a pointer to s > tructure and accessing the structure fields directly that way are you? > You should read all fields using tvb_get_[n|le]to[hs] and similar. > We support many platforms and compilers so we can not make guarantees > on how a particular platform/compiler lays out structures in memory. ...and their header files are attempting to use compiler-specific tricks to guarantee that layout; the sequence of #ifdeffed code explicitly *fails* to work with any compilers other than GCC or MSVC++-compatible compilers on Windows. As Ethereal supports compilation with compilers other than GCC and MSVC++, a #ifdeffed sequence such as that wouldn't be acceptable, so they shouldn't use structures in that fashion. There are also C++/C99-style comments in some of the header files; those are also not supported by all compilers Ethereal uses, so they should check out the "Portability" section in the "doc/README.developer" file and remove any constructs that section says not to use.
Powered by MHonArc 2.6.10