diff options
author | Zefram <zefram@fysh.org> | 2017-12-21 05:40:49 +0000 |
---|---|---|
committer | Zefram <zefram@fysh.org> | 2017-12-21 05:47:52 +0000 |
commit | fe2024f944c63d1ef0759b7fcf1b4577462ba167 (patch) | |
tree | a159d3e90d9d06b020179ecc993b075a529cf977 /miniperlmain.c | |
parent | 946b6ed4ec08dfa012129f650bc1259f5ea1dd48 (diff) | |
download | perl-fe2024f944c63d1ef0759b7fcf1b4577462ba167.tar.gz |
fix up faulty perl embeddings
Some platform-specific embeddings of perl were misusing the
return values from perl_parse() and perl_run(), in some cases
causing failure due to exit(0) combined with the recent changes
in commit 0301e899536a22752f40481d8a1d141b7a7dda82. Commit
d4a50999a5525c2681d59cae5fcd94f94ff897fd partially fixed a Windows
embedding. More fully fix that, along with NetWare and OS/2. Even in
embeddings with correct logic, stop using a variable named "exitstatus"
to hold the result of perl_parse() or perl_run(), to avoid misleading
people who copy the code.
Diffstat (limited to 'miniperlmain.c')
-rw-r--r-- | miniperlmain.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/miniperlmain.c b/miniperlmain.c index a79099bcac..c885e0e4ff 100644 --- a/miniperlmain.c +++ b/miniperlmain.c @@ -124,8 +124,7 @@ main(int argc, char **argv, char **env) PL_perl_destruct_level = 0; } PL_exit_flags |= PERL_EXIT_DESTRUCT_END; - exitstatus = perl_parse(my_perl, xs_init, argc, argv, (char **)NULL); - if (!exitstatus) + if (!perl_parse(my_perl, xs_init, argc, argv, (char **)NULL)) perl_run(my_perl); #ifndef PERL_MICRO |