From 6abce8468c57a533bc8160fc30734708c2452aea Mon Sep 17 00:00:00 2001 From: Yves Orton Date: Tue, 31 Jan 2023 05:01:53 +0100 Subject: embed.pl - the 's', 'S', 'i' and 'I' flags are mutually exclusive We had a bug where we processed the first one in the flags definition. Sorting the flags or rearranging them changes the output, which shouldn't happen. This also fixes the handling and specification of PerlEnv_putenv(), which was marked "si" when it should have been marked "i". This required changing its implementation from a Perl_ prefix to a S_ prefix and regenerating. I have run embed.pl in a loop with a local patch to shuffle the flags to see if there were any other order dependencies. No output files changed so I assume with this patch we are free of such bugs. --- embed.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'embed.h') diff --git a/embed.h b/embed.h index 1e9e4f29fb..732fc53d81 100644 --- a/embed.h +++ b/embed.h @@ -1645,7 +1645,7 @@ # define padname_dup(a,b) Perl_padname_dup(aTHX_ a,b) # define padnamelist_dup(a,b) Perl_padnamelist_dup(aTHX_ a,b) # if !defined(PERL_IMPLICIT_SYS) -# define PerlEnv_putenv(a) Perl_PerlEnv_putenv(aTHX_ a) +# define PerlEnv_putenv(a) S_PerlEnv_putenv(aTHX_ a) # endif /* !defined(PERL_IMPLICIT_SYS) */ # endif /* defined(USE_ITHREADS) */ # if defined(USE_LOCALE_COLLATE) -- cgit v1.2.1