Author: ph10 Date: To: Daniel Richard G. CC: pcre-dev Subject: Re: [pcre-dev] [PATCH] PCRE2 on Windows
On Mon, 7 May 2018, Daniel Richard G. wrote:
> Apologies for the delay; many fires to put out last week.
My turn to apologise for delay; other things took longer than intended
and Life keeps interfering. Anyway, I am at last working through the
issues discussed in our most recent correspondence. I have just
committed a patch that deals with these:
> * In both the Autoconf and CMake configuration, set variables to 0 or 1
> indicating the presence or absence of both inttypes.h and stdint.h.
For Autoconf I found what I think is a tidier way of doing what you did.
> * RunGrepTest: Changed all the double-quoted printf(1) strings to
> single-quoted, to avoid any potential escaping issues.
>
> * Older versions of printf(1) do not interpret "\x00", but can handle
> "\0" or "\000" just fine.
>
> * Older C compilers choke on C++ comments.
Applied all those patches.
> * Some older C compilers, like MSVC, do not support "%td". I added
> a check that uses "%lu" for any non-C99 build environment, as a
> catch-all.
I have added a check on defined(__STDC_VERSION__) to be pedantic.
> * Similarly, older C compilers do not support "%zu". I changed this to
> "%lu" and a cast, as I presume pcre2test is not likely to ever handle
> a >4 GB pattern.
You missed a couple of cases (some of which were %zd, don't know why). I
have dealt with this as for %td, defining macros for the format and for
the cast. So in modern systems it should continue to use %z.