| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Fat-fingered this one somehow.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The various run-time features of the CRTL that Perl uses were being
fetched at image activation time and stored in static variables
for later reference. That works ok when Perl is the program, but
not when Perl is the library since in the latter case attempts by
an embedder to alter the feature settings before invoking Perl were
being ignored.
So store the feature index, not its value, and use that index to
get the current value via decc$feature_get_value whenever we need
it. This means function calls rather than data references, but
there is no measurable impact on performance.
Also fix a bug in the handling of the feature to disable the POSIX
root; we were saying we were disabling it but weren't really doing
so because its current value cannot be set for some reason (only
its default value). Since the feature only affects the conversion
of filenames between Unix and VMS format and we don't use the CRTL's
functions for that, it's unlikely this bug ever caused trouble.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Bits of exec code were putting the constructed commands into globals
PL_Argv and PL_Cmd, which could then be clobbered by reentrancy.
These are only global in order to manage their freeing, but that's
better managed by using the scope stack. So replace them with automatic
variables, with ENTER/SAVEFREEPV/LEAVE to free the memory. Also copy
the strings acquired from SVs, to avoid magic clobbering the buffers of
SVs already read. Fixes [perl #129888].
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We had been using a 64-bit definition of myino_t only when
_LARGEFILE is defined, but we actually get large file support via
either _LARGEFILE or _USE_STD_STAT because both give us 64-bit
off_t, so look at both definitions.
The size of off_t is not any great indicator for the size of
ino_t, but this preserves the intent of the existing code.
TODO: figure out when _USE_STD_STAT became available; it's
possible we no longer need this hackish layer on top of the
stat struct.
|
| |
|
|
|
|
|
| |
Since 2fcab33080e this is now expected and tested for, so do
what other platforms do.
|
|
|
|
|
|
| |
In one case, memEQs was missing a length parameter, and in the
other, two opening braces had been removed but only one closing
brace.
|
|
|
|
|
| |
The latter is much clearer as to what's going on, and the programmer and
program reader don't have to count characters.
|
|
|
|
|
|
|
|
|
|
| |
Where the length is known, we can use these functions which relieve
the programmer and the program reader from having to count characters.
The memFOO functions should also be slightly faster than the strFOO
equivalents.
In some instances in this commit, hard coded numbers are used. These
come from the 'case' statement values that apply to them.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit d4bd48023fe0ba950fface5aa859b6852aa29fc4.
perlio.h depends on vmsish.h and comes in (via iperlsys.h) about
a thousand lines later in perl.h. So we can't put a prototype
that uses PerlIO in vmsish.h
Maybe there is a way to get that prototype out of doio.c, but
this isn't it.
|
|
|
|
|
|
|
| |
The new versions are much easier to comprehend.
There are several cases in vms.c where strEQ and strNE suffice, instead
of having to have a count parameter.
|
|
|
|
| |
The latter two are easier to read
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Only when being Unixish, because I have no idea if
setup_argstr()/vms_do_exec() handle it.
|
| |
|
| |
|
|
|
|
|
|
| |
When encountering a question mark in a filespec being converted
from Unix to VMS format, we were inadvertently adding an escaped
space because of a missing break in a switch.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Karl W. tells me we shouldn't be using functions that depend on
the current locale in Perl core, so replace them with the
relevant macros from handy.h. Use the Latin-1 variants where
possible as Latin-1 is a very close cousin of DEC-MCS.
Use the ASCII variants for things that need to be upcased (like
logical names) or for comparison with literal ASCII upper case
characters.
N.B. While filenames can in principle be reported as UTF-8, most
of the current processing is done via incrementing a pointer and
checking one byte at a time. That logic will have to be rewritten
to accommodate multi-byte characters.
strncasecmp, atoi, and atol have not been changed. The current
implementations are documented to have ASCII assumptions. We'll
have to take another look if and when the CRTL ever catches up
with a more recent version of POSIX.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a3c8358c changed:
-#define dXSUB_SYS int dummy
+#define dXSUB_SYS
which made dXSUB_SYS into not-a-declaration, this apparently broke
something, since 8cc95fdb then went through all the definitions of
dXSUB_SYS, made each of them into not-a-declaration and then
ensured ExtUtilis::Miniperl emitted dXSUB_SYS in a place where it
didn't matter whether it was a declaration or a statement.
When these changes were made perl.h didn't have dNOOP, but now we
do, so we can make dXSUB_SYS a declaration again, as its name
implies.
Based on a patch originally created by Daniel Dragan (bulk88).
|
|
|
|
| |
cando() has not used PL_statcache since Perl 3 (commit a687059cbaf)
|
|
|
|
|
|
|
|
|
|
| |
These programs are the same, just behave differently depending on
under which name you call it.
This is a very old script, originally dating from the perl3 era.
It has been deprecated in favour of h2xs for a long time.
In Perl 5.26, these utilities will no longer be available.
|