Date: Wed, 23 Jun 1999 11:48:39 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: djgpp-workers AT delorie DOT com cc: Ron House Subject: Re: [house AT usq DOT edu DOT au: DJGPP's search.h] In-Reply-To: <199906230051.UAA06264@envy.delorie.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp-workers AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Tue, 22 Jun 1999, DJ Delorie wrote: > This produces linkage errors because it creates an actual variable > called qelem in every file it is included in. I believe the line should > read: > > typedef struct qelem { > struct qelem *q_forw; > struct qelem *q_back; > char q_data[0]; > } qelem; IMHO even the typedef is wrong (unless some implementation has it), since it also pollutes the namespace. Simply removing the variable name should do the trick: struct qelem { struct qelem *q_forw; struct qelem *q_back; char q_data[0]; }; At least the man page on the nearest Unix box defines only the struct, not the typedef or the variable. Should I check in a change that fixes it?