Wireshark-dev: Re: [Wireshark-dev] [Wireshark-commits] rev 28986: /trunk/plugins/ethercat/ /tru

From: Jaap Keuter <jaap.keuter@xxxxxxxxx>
Date: Tue, 07 Jul 2009 20:34:44 +0200
Hi,

Indeed. The Windhose dynamic linking system is so broken you can't use data from one DLL in another. That was what it boiled down to.

Thanx,
Jaap

Anders Broman wrote:
Hi,
I think there is a problem to export DATA to plugins, I think some one explained it a (long)while ago
But I don't remember exactly what the problem was - something with Windows and dll:s
Reagrds
Anders
-----Original Message-----
From: wireshark-dev-bounces@xxxxxxxxxxxxx [mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] On Behalf Of Bill Meier
Sent: den 7 juli 2009 18:02
To: Developer support list for Wireshark
Subject: Re: [Wireshark-dev] [Wireshark-commits] rev 28986: /trunk/plugins/ethercat/ /trunk/plugins/ethercat/: packet-esl.c packet-esl.h

Stig Bj�rlykke wrote:
On Tue, Jul 7, 2009 at 4:48 PM, Bill Meier<wmeier@xxxxxxxxxxx> wrote:
Stig Bj�rlykke wrote:
Does r28985 fix this issue?
I'll give it a try; (Maybe that's the real problem).
If this works I have a patch for all plugins dissectors.



The compile of packet-esl still fails with the revised tfs.h

I wonder: is there an issue with using WS_VAR_IMPORT for plugins ?  .
I'm not really familiar with the use of WS_VAR_IMPORT.

/* define macro for importing variables from an dll
  * it depends on HAVE_LIBWIRESHARKDLL and _NEED_VAR_IMPORT_
  */
#if defined (_NEED_VAR_IMPORT_) && defined (HAVE_LIBWIRESHARKDLL) #  define WS_VAR_IMPORT __declspec(dllimport) extern #else #  define WS_VAR_IMPORT extern #endif



============

Also: given the typedef for true_false_strings, I'm curious as to the rationale for the changes like the following:

   WS_VAR_IMPORT const true_false_string tfs_true_false; 	 to
   WS_VAR_IMPORT const true_false_string tfs_true_false[];

It would seem to me that the true_false strings are structs and not arrays. :)

typedef struct true_false_string {
         const char      *true_string;
         const char      *false_string;
} true_false_string;

const true_false_string tfs_true_false = { "True", "False" };


Bill