summaryrefslogtreecommitdiff
path: root/proto.h
diff options
context:
space:
mode:
authorYves Orton <demerphq@gmail.com>2023-01-31 05:01:53 +0100
committerYves Orton <demerphq@gmail.com>2023-02-01 09:53:44 +0800
commit6abce8468c57a533bc8160fc30734708c2452aea (patch)
tree38725074f7446faaa00b0137f0d4b9e610a201e5 /proto.h
parentd404f73baa29d5697ed2cac768de015217d5e819 (diff)
downloadperl-6abce8468c57a533bc8160fc30734708c2452aea.tar.gz
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.
Diffstat (limited to 'proto.h')
-rw-r--r--proto.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/proto.h b/proto.h
index ea54b79513..0efbfeaeb6 100644
--- a/proto.h
+++ b/proto.h
@@ -6204,13 +6204,6 @@ Perl_my_popen(pTHX_ const char *cmd, const char *mode);
# define PERL_ARGS_ASSERT_MY_POPEN \
assert(cmd); assert(mode)
-# if defined(USE_ITHREADS)
-STATIC bool
-Perl_PerlEnv_putenv(pTHX_ char *str);
-# define PERL_ARGS_ASSERT_PERLENV_PUTENV \
- assert(str)
-
-# endif /* defined(USE_ITHREADS) */
#endif /* !defined(PERL_IMPLICIT_SYS) */
#if defined(PERL_IN_AV_C)
STATIC MAGIC *
@@ -10011,6 +10004,13 @@ Perl_cop_file_avn(pTHX_ const COP *cop);
# define PERL_ARGS_ASSERT_COP_FILE_AVN \
assert(cop)
+# if !defined(PERL_IMPLICIT_SYS)
+PERL_STATIC_INLINE bool
+S_PerlEnv_putenv(pTHX_ char *str);
+# define PERL_ARGS_ASSERT_PERLENV_PUTENV \
+ assert(str)
+
+# endif /* !defined(PERL_IMPLICIT_SYS) */
# endif /* defined(USE_ITHREADS) */
#endif /* !defined(PERL_NO_INLINE_FUNCTIONS) */
#if defined(PERL_USE_3ARG_SIGHANDLER)