Author: Philip Hazel Date: To: Bob Rossi CC: pcre-dev, Brian Dessent Subject: Re: [pcre-dev] Mingw Memory mismatch problem
On Tue, 3 Apr 2007, Bob Rossi wrote:
> I was able to test Brian's patch. He definately solved the problem.
>
> Thanks Brian! I'm counting how many times I owe you, about to switch to
> the second hand!
My thanks too .. I've just started on my first hand. :-)
> So, we need to decide if we want to release with his changes, or if
> we want to solve it by actually using the __declspec's properly. I hope
> the problem is clear from his email. I can do more testing or look at
> the problem deeper if it's decided the "make all symbols public"
> approach is no good.
I'm quite happy to make all symbols public - after all, that's what
happens in Linux/Unix. It's not *right* in some abstract sense, but it
is all one can expect from the standard definition of C.
Earlier versions of PCRE produced by me would just have had the normal
extern stuff because I know nothing about Windows. Somebody sent me the
__declspec additions. I wonder why? Maybe it was somebody who felt
strongly about exporting "private" symbols. The ChangeLog notes that it
was added for PCRE 6.0, 07-Jun-05, but doesn't record who sent it.
Very early versions of PCRE didn't have any symbols declared "extern"
that were not for public export. I had all the functions (there were
fewer of them) in one big source file for just this reason, but I gave
in, split the source up into several files, and invented the _pcre_xxx
symbols for "internal external" symbols when the library got bigger.
I'll go ahead with the patch and produce -RC4 tomorrow, unless somebody
says "no" by then (it's 9:30 pm my time now).
Philip
--
Philip Hazel, University of Cambridge Computing Service.