summaryrefslogtreecommitdiff
path: root/ext/File-DosGlob
Commit message (Collapse)AuthorAgeFilesLines
* Corrections to spelling and grammatical errors.Lajos Veres2015-01-281-1/+1
| | | | Extracted from patch submitted by Lajos Veres in RT #123693.
* File-DosGlob: silence some compiler warningsDavid Mitchell2013-11-132-2/+3
|
* typo fixes for File::DosGlobDavid Steinbrunner2013-05-251-3/+3
| | | | Bump $VERSION.
* Make File::DosGlob handle VMS extended filespecs.Craig A. Berry2013-02-121-1/+8
|
* Make DosGlob.t more resilientFather Chrysostomos2012-12-161-1/+2
| | | | | | If the sv count goes *down* (which doesn’t happen on my machine, but see <CANgJU+W8_nVg9-YVRBe2r=ZYCbu9-R3RPf0tbH-XWrtVxYhGpA@mail.gmail.com>), we certainly don’t have a leak.
* chdir's argument is a directory in DosGlob.t.Craig A. Berry2012-12-131-1/+1
| | | | | | It probably doesn't matter anywhere but VMS, but on VMS, disk:[dir.blead]t (the result of catfile) is an invalid argument to chdir, but disk:[dir.blead.t] (the result of catdir) is correct.
* {Dos,}Glob.xs: Skip freeing during global destructionFather Chrysostomos2012-12-121-0/+3
| | | | | | | | | | | | See ticket #116064. File::Glob and ::DosGlob free data associated with a calling op when that op is freed. During global destruction, there is no need to do that, as it will be freed anyway. Also, during sv_clean_all dMY_CXT can cause us to read freed memory.
* Fix occasional failures in svleak.t and DosGlob.tFather Chrysostomos2012-12-121-2/+2
| | | | | | If the random number of ops happens to be 0 the first time, then we end up with a false positive, as evaluating '$x+<*>' after '<*>' will vivify the *x glob.
* In DosGlob.xs, add a block around MY_CXT_INIT, as it contains a declaration.Nicholas Clark2012-12-121-0/+2
| | | | | | | The macro MY_CXT_INIT contains a variable declaration, and xsubpp doesn't wrap XS BOOT sections within a block, hence code at the start of the BOOT section may already be after code. Hence wrap MY_CXT_INIT within a block, to ensure that its initialisation is before any code.
* DosGlob: Don’t leak when caller’s op tree is freedFather Chrysostomos2012-12-113-2/+49
| | | | | | | | | | | | | | | | File::DosGlob keeps its own hash of arrays of file names. Each array corresponds to one call site. When iteration finishes, it deletes the array. But if iteration never finishes, and the op at the call site is freed, the array remains. So eval "scalar<*>" will cause a memory leak under the scope of ‘use File::DosGlob "glob"’. We already have a mechanism for hooking the freeing of ops. So File::DosGlob can use that. This is similar to 11ddfebc6e which fixed up File::Glob, but that com- mit mistakenly used a C static for storing the old hook, even though PL_opfreehook is an interpreter variable, not a global. (The next commit will fix that.)
* DosGlob: Don’t use the magic 2nd arg to globFather Chrysostomos2012-12-093-4/+25
| | | | | | | | | | | | | | Use the address of the glob op instead. This argument is going away, because it is undocumented, unused on CPAN outside of the core, and may get in the way of allowing glob() to be overridden properly. Another reason is that File::DosGlob leaks memory, because a glob op freed before iteration has finished will leave File::DosGlob still holding on to the remainder of the list of files. The easiest way to fix that will involve using an op address instead of a special index, so there will be no reason to keep it.
* Increase $File::DosGlob::VERSION to 1.09Father Chrysostomos2012-12-091-1/+1
|
* Move File::DosGlob from lib to extFather Chrysostomos2012-12-092-0/+431