summaryrefslogtreecommitdiff
path: root/dist/PathTools
Commit message (Collapse)AuthorAgeFilesLines
* Use ppport.h when building dist/ modules in coreLeon Timmermans2023-02-223-12/+7
| | | | By always including `ppport.h`, this simplifies both XS code and tooling around it.
* Remove dead VMS code in Cwd::_backtick_pwdCraig A. Berry2022-12-181-2/+1
| | | | | | | | | | | | | | | The code as written would have had no effect since the value in $^O is 'VMS' not 'vms' so it's better to remove the confused and confusing code. _backtick_pwd is not normally called on VMS because it has its own set of routines dispatched via the %METHOD_MAP hash. In the unlikely event that _backtick_pwd got called on VMS, it would either fail because there is no pwd command, or, if running under some Unix emulation environment, work just like Unix, and therefore need no special handling of $ENV{PATH} that is different from Unix.
* dist/PathTools - fix possible VMS breakageYves Orton2022-12-0312-11/+16
| | | | | In #19645 I added a fix for empty paths under taint mode. This fix may have changed VMS behavior, which this patch should fix.
* fix warning/error on 5.8 with ambiguous ?...? operatorTony Cook2022-08-311-1/+1
| | | | | Warning: Use of "defined" without parentheses is ambiguous at t/cwd_enoent.t line 32. Search pattern not terminated at t/cwd_enoent.t line 32.
* Update File::Spec synopsisElvin Aslanov2022-08-301-3/+3
| | | Add `my` to examples for better practice.
* Pathtools: update version info in files meta.json and meta.xml to adapt the ↵小鸡2022-08-192-2/+2
| | | | real module version
* PathTools/t/cwd_enoent.t: a fixup to version checkDavid Mitchell2022-07-251-1/+2
| | | | | | | | v5.37.1-202-g0d6ab5e425 just added a version check for dragonfly; however, it generates sprintf warnings unless the OS's version has exactly two numeric components. The fix is trivial.
* release 6.2 of Dragonfly BSD fixed getcwd()Tony Cook2022-07-201-1/+2
| | | | | | | | See: https://www.dragonflybsd.org/releases/changelog/62/ which lists ticket 3250.
* PathTools/Cwd.xs: define SYSNAME/SYSNAME_LEN for OS390 onlyMarcel Telka2022-06-2813-13/+19
| | | | | | | | | | | | This fixes the following warning on illumos based platforms: Cwd.xs:27:0: warning: "SYSNAME" redefined #define SYSNAME "$SYSNAME" In file included from ../../perl.h:1111:0, from Cwd.xs:8: /usr/include/sys/param.h:184:0: note: this is the location of the previous definition #define SYSNAME 9 /* # chars in system name */
* Avoid using ' version of isntNicolas Mendoza2022-06-151-1/+1
|
* Revert "Revert "mg.c, Cwd.pm - Empty path is the same as "." which is ↵Yves Orton2022-05-2812-12/+22
| | | | | | | | | | forbidden under taint"" This reverts commit 9eb153ffbbde62558146e8f9b837034f42878e13. The patch this unreverts was accidentally pushed to blead without going through PR or smoke process which it really needs. This patch exists so it can go through that process.
* Revert "Revert "dist/PathTools - add missing entries to Changes""Yves Orton2022-05-281-0/+12
| | | | | | | | This reverts commit 79311730f400cc7f546ab72f6dbb22fddb27856d. The original patch was accidentally pushed to blead directly without going through a PR or smoke process which it needs. This is the revert of that revert so that process can begin.
* Revert "dist/PathTools - add missing entries to Changes"Yves Orton2022-04-201-12/+0
| | | | | | | This reverts commit 33349b53c2e4df3292c79435e54fc98824e4cba8. This should have been pushed to a branch not to blead. Fat fingers. Sorry folks.
* Revert "mg.c, Cwd.pm - Empty path is the same as "." which is forbidden ↵Yves Orton2022-04-2012-22/+12
| | | | | | | | | | under taint" This reverts commit 5ede4453c4877110eb5214ff400c173210b101b1. I messed up and pushed it to blead not to the PR branch I meant to push it. Thanks to xenu for noticing. This needs a smoke before it should be applied.
* mg.c, Cwd.pm - Empty path is the same as "." which is forbidden under taintYves Orton2022-04-2012-12/+22
| | | | | | | | | | | | | | | | | Having a relative path, including ".", is forbidden under taint. On *nix an empty PATH or an empty PATH component is equivalent to a PATH of ".", so they should be forbidden as well. Note that on Windows the current working directory is ALWAYS checked first if you try to execute something that does not specify its path, regardless of the PATH. I do not know what happens on VMS and I do not have access to a VMS environment to test. There are totally different codepaths for VMS as well. This patch does not (or rather should not) change behavior for VMS. Note this includes a version bump for all modules in dist/PathTools
* dist/PathTools - add missing entries to ChangesYves Orton2022-04-201-0/+12
| | | | Versions 3.82 through 3.84 were not document in Changes.
* Add PerlIO_readlink backcompat defines to Cws.xsLeon Timmermans2022-03-0412-11/+15
|
* PathTools: update bug_tracker locationMichiel Beijen2021-12-0712-16/+14
| | | | | | | Unlist Ken Williams as maintainer as requested in https://rt.cpan.org/Public/Bug/Display.html?id=116342 For: https://github.com/Perl/perl5/pull/19261
* Send bug reports to GitHubJames E Keenan2021-10-091-2/+2
| | | | | Mail to 'perlbug@perl.org' now simply triggers a response redirecting sender there.
* get working directory on a non existing path returns a value and no errno on ↵Thibault Duponchelle2021-07-102-1/+4
| | | | Haiku
* avoid a prototype warning assigning \&getcwd to *cwdTony Cook2021-06-091-1/+2
| | | | | This would produce a warning if we fallback to using getcwd() where getcwd() has a prototype.
* don't fallback to simple pwdTony Cook2021-06-091-6/+0
| | | | | | | | | When _backtick_pwd invokes $pwd_cmd it first clears the PATH, and since the command has no shell metacharacters, it perl won't invoke the shell, so it will always fail. An alternative here might be to use "/bin/sh -c pwd" but there's no guarantee that pwd is available as a shell builtin.
* remove code that assuming finding pwd on the path is reasonableTony Cook2021-06-091-14/+0
| | | | | We deliberately clear PATH when invoking pwd, so this search is useless.
* update PathTools changes for the inode comparison changeTony Cook2021-05-241-0/+4
|
* bump PathTools to 3.81Tony Cook2021-05-2411-11/+11
|
* PathTools: compare inode numbers as stringsTony Cook2021-05-241-7/+7
| | | | as recommended in perldoc -f stat
* update dist/PathTools/ChangesTony Cook2021-05-241-0/+26
|
* PathTools: use PerlLIO_*() functions and chdir() on a symlink differencesTony Cook2020-12-0113-14/+21
| | | | | | | | | Use PerlLIO_lstat() and PerlLIO_readlink() instead of directly calling the POSIX names, so our Win32 overrides work. For the test, unlike POSIX, changing directory via a symlink on Win32 appears to store the symlink as part of the current directory rather so GetCurrentDirectory() fetches that rather than the hardlinked path.
* add gitignore exclusions for files in gitGraham Knop2020-11-231-0/+1
| | | | | | | | There are a number of files excluded using gitignore rules that are included in the repository. This can lead to confusion if something other than git tries to read the ignore files. Add rules to the gitignore files so that these files won't be ignored.
* document the issues for the enoent problem on dragonflyTony Cook2020-11-051-0/+2
|
* PathTools/Cwd.xs: fix off-by-one in bsd_realpath()David Mitchell2020-10-301-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the heart of this function is a loop which repeatedly finds the next component in the path, processes it, then chops that component off the front of the path by shifting the string to the start of the buffer; i.e. something like: while (remaining_len) { s = strchr(remaining, '/') ... remaining_len -= s - remaining; memmove(remaining, s, remaining_len + 1); } The problem is that the per-iteration decrement to remaining_len doesn't take account of the '/' character, so each iteration, remaining_len gets one more byte too big. It turns out that this is harmless - it just means that more and more garbage characters after the trailing null byte get copied each time, but after each copy the path string is still well formed, with a trailing null in the right place. So just the random garbage after the null byte is different. This commit fixes that. Although really, it would be better to just increment the start-of-string pointer each time rather than shift the whole string each time.
* bump version numbers for PathTools to 3.79David Mitchell2020-10-3010-10/+10
|
* PathTools::Win32.pm: Add L<> around link in podKarl Williamson2019-05-251-2/+2
|
* Silence Cwd.pm warning on Android builds if targetsh is not definedRichard Leach2019-04-191-1/+1
|
* (perl #133951) fallback to the built-in getcwd if we canTony Cook2019-04-1512-12/+25
|
* bump version numbers for PathToolsTony Cook2019-01-1411-11/+11
|
* (perl #123724) don't translate ... to ..\.. on Win32Tony Cook2019-01-142-12/+2
| | | | Apparently this was a command.com thing that Win32 doesn't support.
* bump $File::Spec::*::VERSIONTony Cook2018-11-0111-11/+11
|
* prevent t/Functions.t from warning on undefined values when none suppliedTony Cook2018-11-011-1/+1
|
* Accept also ESTALE (fix for RT #133534)Slaven Rezic2018-10-111-3/+6
| | | | | | ESTALE may occur in some environments when accessing a now non-existing directory, e.g. when using NFS or in docker containers.
* Bumping PathTools from 3.74 to 3.75Sawyer X2018-08-2712-10/+14
|
* fix mkpath call to be compatible with older File::PathGraham Knop2018-08-271-1/+1
| | | | | | | | | | | | | mkpath can be called multiple ways, but most aren't supported by very old versions of File::Path. A prerequisite could be added on a newer version of the module that that supports the new call signature, but this introduces a circular dependency. While theoretically this dependency should be resolvable, since the File::Spec prereq listed in File::Path is version 0, some toolchains (in particular older CPAN.pm) will fail to do so. There isn't any particular advantage to using the new call signature, so a simple solution is to adjust the test to use the older style.
* Remove duplicate of commented-out test.James E Keenan2018-08-231-1/+0
|
* remove distros from needing ppport.h in coreDaniel Dragan2018-07-262-6/+8
| | | | | | | | | | | | | | | | These changes are towards a goal of removing mkppport one day as part of a optimization for parallel building (less deps needed before XS extensions are built). This is a follow-on patch to the dummy ppport.h trick in Perl #128438 ticket that had issues. -for Time::HiRes the DEFINE() in Makefile.PL can't be be in sub init() because that sub isn't called on windows -SLU has not needed ppport.h in core since commit 5e99e069f5 aka 1.47 import from cpan -Cwd used to be a no ppport.h since 3.25, in 3.30_02 the code (Cwd.xs) was deleted/broken under commit 9bc94e3dae, or changes file "Remove more special logic required for core perl.". Put back the Cwd.xs code and remove Cwd from the ppport.h list
* Ensure temp directories are cleaned up.James E Keenan2018-05-011-0/+2
| | | | | | | | | Tux reported that on certain platforms File::Temp::tempdir(CLEANUP => 1) was not cleaning up after itself properly. Guarantee that this cleanup takes place in and END block. Thread: https://www.nntp.perl.org/group/perl.perl5.porters/2018/04/msg250757.html
* getcwd() doesn't fail on non-existent directories on DragonFly BSD.Tomasz Konojacki2018-05-011-0/+4
| | | | | | | Until it's fixed upstream, we should skip tests that don't expect this behaviour. [RT #133141]
* PathTools/Changes: Retroactively mention CPAN RT #114236Father Chrysostomos2018-02-241-0/+1
| | | | | So that new releases will have a more complete and helpful change log.
* Correct PathTools dist files and bump to 3.74:Sawyer X2018-02-1915-13/+101
| | | | | | | | There were permission errors when uploading 3.73 so we are bumping it to 3.74. I've included the META.json and META.yml files in the dist and corrected their entry in MANIFEST.
* Add MANIFEST to PathToolsSawyer X2018-02-171-0/+29
|
* Reflect what I think are the correct changesets for PathTools:Sawyer X2018-02-171-0/+13
| | | | | | | | | | Building towards an upcoming release of PathTools, I'm documenting based on the commits what I think is the correct Changeset. Considering that at the time of this commit, CPAN only has PathTools 3.62, I think we should be fine. Correct if you see a mistake. :)