On Mon, 28 Jan 2019, Matthew Vernon wrote:
> FWIW, the Debian packaging for pcre2 uses the rather infelicitous names
> PCRE2regcomp et al. (So will probably need to continue to do so
> indefinitely :-/ )
Those names are now defined as aliases in pcre2posix.h.
Philip
--
Philip Hazel
--
##
Hi,
FWIW, the Debian packaging for pcre2 uses the rather infelicitous names
PCRE2regcomp et al. (So will probably need to continue to do so
indefinitely :-/ )
Regards,
Matthew
--
The Wellcome Sanger Institute is operated by Genome Research
Limited, a charity registered in England with
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #30 from Philip Hazel ---
OK. I have applied the patch to trunk, with some formatting and comment
editing. The only problem I hit was warnings like this:
src/pcre2posix.c:190:1: warning: no previous prototype for 'regerror'
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #29 from Matthew Vernon ---
(In reply to Philip Hazel from comment #28)
> (In reply to Matthew Vernon from comment #24)
> > (In reply to Philip Hazel from comment #20)
> >
> > > PCRE2POSIX_EXP_DECL int pcre2_regcomp(regex_t *, const char *,
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #28 from Philip Hazel ---
(In reply to Matthew Vernon from comment #24)
> (In reply to Philip Hazel from comment #20)
>
> > PCRE2POSIX_EXP_DECL int pcre2_regcomp(regex_t *, const char *, int);
> > PCRE2POSIX_EXP_DECL int regcomp(regex_t *,
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #27 from Philip Hazel ---
(In reply to Petr Pisar from comment #23)
>
> C preprocessor works on tokens. Not on substrings. It does not turn
> pcre2_regcomp() into pcre2_pcre2_regcomp(). The preprocessor will see
> "pcre2_regcomp" token, not
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #26 from ze'ev Atlas ---
Some additional information:
I could have intervened in the linkage process and take the load module
(executable) from a specific library, but dealing with module name and separate
it from the standard posix name was
https://bugs.exim.org/show_bug.cgi?id=1830
ze'ev Atlas changed:
What|Removed |Added
CC||zatl...@yahoo.com
--- Comment #25 from ze'ev
https://bugs.exim.org/show_bug.cgi?id=1830
Matthew Vernon changed:
What|Removed |Added
CC||matt...@debian.org
--- Comment #24 from
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #23 from Petr Pisar ---
(In reply to Philip Hazel from comment #22)
> But consider this: A user knows about this issue and writes a
> program that calls pcre2_regcomp(). Unfortunately, the inclusion of
> pcre2posix.h will turn this into
Please consider my less than popular port to classic z/OS.I had a similar
problem, and neither I, nor my users, have any control on which actual runtime
module would yake precedence. I resorted to name the pcre2 functions
differently than the native posix function names. It was refreshing to
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #22 from Philip Hazel ---
(In reply to Petr Pisar from comment #21)
> My patch, that is built on top of the forthcoming 10.33, turns the
> non-prefixed _declarations_ into macros. It keeps the non-prefixed
> definitions.
My apologies again
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #21 from Petr Pisar ---
The forthcoming 10.33 defines and declares both functions. That's great but it
does not fix the issue completely. An application must start using the prefixed
function to resolve the issue.
My patch, that is built on
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #20 from Philip Hazel ---
(In reply to Petr Pisar from comment #19)
>>
> > Note that the PCRE2 patch declares the POSIX functions as real functions.
>
> No. The PCRE2 patch removes the POSIX function declarations and replaces
> them with
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #19 from Petr Pisar ---
(In reply to Philip Hazel from comment #18)
> 2. PCRE2 has been released for four years now and I really do not want to do
> anything much to PCRE1 now, except possibly to fix really serious bugs if
> the fix is not
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #18 from Philip Hazel ---
(In reply to Petr Pisar from comment #17)
> Created attachment 1170 [details]
> Declare POSIX regex function names as macros to PCRE functions
>
> This is a port the old PCRE 8.42. Yet it does not touch the
This sounds good as I had similar issue with porting to z/OS. I will try to
use that instead of my proprietary solution. Will work on it for the next
release.
Ze'ev
Sent from Yahoo Mail on Android
On Wed, Jan 23, 2019 at 8:18 AM, ad...@bugs.exim.org
wrote:
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #17 from Petr Pisar ---
Created attachment 1170
--> https://bugs.exim.org/attachment.cgi?id=1170=edit
Declare POSIX regex function names as macros to PCRE functions
This is a port the old PCRE 8.42. Yet it does not touch the
https://bugs.exim.org/show_bug.cgi?id=1830
Petr Pisar changed:
What|Removed |Added
Attachment #1168|0 |1
is obsolete||
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #15 from Petr Pisar ---
Created attachment 1168
--> https://bugs.exim.org/attachment.cgi?id=1168=edit
Declare POSIX regex function names as macros to PCRE
--
You are receiving this mail because:
You are on the CC list for the bug.
--
##
https://bugs.exim.org/show_bug.cgi?id=1830
Petr Pisar changed:
What|Removed |Added
Attachment #1167|Declare POSIX regex |Declare POSIX regex
description|function
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #13 from Philip Hazel ---
I have just committed a patch that does what I suggested. The actual functions
are now called pcre2_regcomp() etc, with regcomp() etc. provided as one-line
wrappers (which an efficient compiler should compile
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #12 from Philip Hazel ---
First let me say that this is too late for 10.32, which I'm expecting to
release later on today.
I am not at all knowledgeable about linking details, but surely your suggestion
won't work because the regcomp()
https://bugs.exim.org/show_bug.cgi?id=1830
Amir Plivatsky changed:
What|Removed |Added
CC||amir...@gmail.com
--- Comment #11 from Amir
https://bugs.exim.org/show_bug.cgi?id=1830
Mark Baker changed:
What|Removed |Added
CC||m...@mnb.org.uk
--- Comment #10
https://bugs.exim.org/show_bug.cgi?id=1830
Philip Hazel changed:
What|Removed |Added
Status|NEW |RESOLVED
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #8 from Pascal MALAISE ---
If I remove the include of pcre2_internal.h:
In the line equivalent to pcre2posix.c 10.21, line 267:
pcre2_match_data *md = (pcre2_match_data *)preg->re_match_data;
> error: dereferencing pointer
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #7 from Philip Hazel ---
Many thanks to Ze'ev Atlas for helping me see where I was being stupid. The
reference to "real" is in the 10.21 code, but I was searching in the current
"head" code. It turns out that this
Your"trick" would require recompiling, or somehow modifying the
already-compiled
application.
I am very loath to make incompatible changes because, however rare you think
dependence on some feature may be, there is always sure to be somebody who gets
caught out.
I do not know about Pascal's
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #6 from Philip Hazel ---
(In reply to Pascal MALAISE from comment #5)
> I don't face the issue if I install PCRE myself (in /usr/local for example).
> Still this "packaging" of the API is important when PCRE is
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #5 from Pascal MALAISE ---
I don't face the issue if I install PCRE myself (in /usr/local for example).
Still this "packaging" of the API is important when PCRE is installed as part
of a distrib, otherwise we compile with
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #3 from Philip Hazel ---
(In reply to Pascal MALAISE from comment #2)
> In pcreposix.h (8.38) I see:
> PCREPOSIX_EXP_DECL int pcreposix_regcomp(regex_t *, const char *, int);
> and further on in the same file:
>
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #2 from Pascal MALAISE ---
In pcreposix.h (8.38) I see:
PCREPOSIX_EXP_DECL int pcreposix_regcomp(regex_t *, const char *, int);
and further on in the same file:
#define regcomp pcreposix_regcomp
This allows calling
https://bugs.exim.org/show_bug.cgi?id=1830
--- Comment #1 from Philip Hazel ---
The whole point of the POSIX wrapper is that existing programs can link with it
without modification. That is why the POSIX names regcomp() etc are used, and
have always been used, in both
34 matches
Mail list logo