|
Packit |
0e0e0d |
0.3.2 2017-01-13
|
|
Packit |
0e0e0d |
- Made the version number consistent across the .pm files.
|
|
Packit |
0e0e0d |
- https://bitbucket.org/shlomif/perl-file-find-object/issues/1/wrong-version-number
|
|
Packit |
0e0e0d |
- Thanks to aer0 for the report.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.3.1 2017-01-09
|
|
Packit |
0e0e0d |
- Fixed an issue with tracking the depth of the inodes when detecting
|
|
Packit |
0e0e0d |
a symlink loop.
|
|
Packit |
0e0e0d |
- Detected by several cygwin reports.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.3.0 2016-09-11
|
|
Packit |
0e0e0d |
- Converted the build system to Dist-Zilla.
|
|
Packit |
0e0e0d |
- Part of the impetus was removing the warning about
|
|
Packit |
0e0e0d |
Test::TrailingSpace needed for the trailing whitespace tests
|
|
Packit |
0e0e0d |
(which in turn requires this modules) which was reported to us as a
|
|
Packit |
0e0e0d |
problem by someone (despite not being a real issue).
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.2.13 2015-04-07
|
|
Packit |
0e0e0d |
- Clarified the documentation regarding the use/return of array
|
|
Packit |
0e0e0d |
references.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.2.12 2014-11-28
|
|
Packit |
0e0e0d |
- Made sure no two t/*.t test scripts share temp paths.
|
|
Packit |
0e0e0d |
- This caused failure with HARNESS_OPTIONS="j9".
|
|
Packit |
0e0e0d |
- Thanks to ETHER for the report:
|
|
Packit |
0e0e0d |
- http://www.cpantesters.org/cpan/report/2711a2ec-7401-11e4-8c78-d7697441a48b
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.2.11 2014-03-26
|
|
Packit |
0e0e0d |
- Add $VERSION globally to all packages in lib/.
|
|
Packit |
0e0e0d |
- This was done to silence some warnings from PAUSE.
|
|
Packit |
0e0e0d |
- Add scripts/bump-version-number.pl to update it.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.2.10 2014-03-26
|
|
Packit |
0e0e0d |
- Correct a misspelling reported by dsteinbrunner.
|
|
Packit |
0e0e0d |
- https://rt.cpan.org/Ticket/Display.html?id=94206
|
|
Packit |
0e0e0d |
- Fix Build.PL by excluding the 'license' URL from the resources.
|
|
Packit |
0e0e0d |
- New versions of Module::Build add it automatically.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.2.9 2014-01-29
|
|
Packit |
0e0e0d |
- Convert from "use base" to the more modern "use parent".
|
|
Packit |
0e0e0d |
- Minimal version on perl-5.008 (CPANTS Kwalitee).
|
|
Packit |
0e0e0d |
- Add the LICENSE file - CPANTS Kwalitee.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.2.8 2013-08-17
|
|
Packit |
0e0e0d |
- Fix https://rt.cpan.org/Ticket/Display.html?id=87901
|
|
Packit |
0e0e0d |
- repository metadata duplication.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.2.7 2013-05-21
|
|
Packit |
0e0e0d |
- Convert this file to t/cpan-changes.t .
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.2.6 2012-11-25
|
|
Packit |
0e0e0d |
- Correct a typo:
|
|
Packit |
0e0e0d |
- see https://rt.cpan.org/Ticket/Display.html?id=81428
|
|
Packit |
0e0e0d |
- Thanks to Xavier Guimard for the report.
|
|
Packit |
0e0e0d |
- Remove trailing space.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.2.5 2012-07-12
|
|
Packit |
0e0e0d |
- Add the scripts/tag-release.pl script to tag a release in the
|
|
Packit |
0e0e0d |
Mercurial repository.
|
|
Packit |
0e0e0d |
- The problem is that I'm using different conventions for the
|
|
Packit |
0e0e0d |
names of the tags in different repositories and wish to introduce
|
|
Packit |
0e0e0d |
some consistency.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.2.4 2012-07-12
|
|
Packit |
0e0e0d |
- Update the link to the new repository at bitbucket.org.
|
|
Packit |
0e0e0d |
- Add cleanup for a temporary directory in the tests.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.2.3 2009-07-30
|
|
Packit |
0e0e0d |
- 0.2.2 seems to have been deleted. Re-uploading.
|
|
Packit |
0e0e0d |
- thanks to lwpetre
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.2.2 2009-06-25
|
|
Packit |
0e0e0d |
- added some META.yml resources.
|
|
Packit |
0e0e0d |
- added META.yml keywords.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.2.1 2009-06-18
|
|
Packit |
0e0e0d |
- Optimization: removed the _dir field of File::Find::Object::PathComp
|
|
Packit |
0e0e0d |
and its _dir_copy copy-accessor, and replaced them all with passing
|
|
Packit |
0e0e0d |
the $dir_str explicitly. This reduced the code considerably, and
|
|
Packit |
0e0e0d |
eliminated a similar symptom to this one:
|
|
Packit |
0e0e0d |
- http://en.wikipedia.org/wiki/Schlemiel_the_painter%27s_Algorithm
|
|
Packit |
0e0e0d |
- Added the ->is_file() method to ::Result.
|
|
Packit |
0e0e0d |
- Converted ::Result->is_dir() to use -d _
|
|
Packit |
0e0e0d |
- Added ::Result->is_link().
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.2.0 2009-02-22
|
|
Packit |
0e0e0d |
- Optimization: now not checking for the existence of the callback() after
|
|
Packit |
0e0e0d |
every iteration, in case it doesn't exist. Instead, the default_actions
|
|
Packit |
0e0e0d |
is calculated according to its existence when the tree traverser
|
|
Packit |
0e0e0d |
is initialized.
|
|
Packit |
0e0e0d |
- Refactoring/Optimization: avoided having two _set_obj() methds by
|
|
Packit |
0e0e0d |
calling _set_obj() from _run_cb().
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.1.9 2009-02-10
|
|
Packit |
0e0e0d |
- Added use integer to the modules, because they don't make use
|
|
Packit |
0e0e0d |
of floating-point calculation. It may be a minor optimization, but then
|
|
Packit |
0e0e0d |
again it may be not.
|
|
Packit |
0e0e0d |
- Optimization: optimized the loop detection by having a hash lookup
|
|
Packit |
0e0e0d |
of inodes in each path component, that are built incrementally and checked
|
|
Packit |
0e0e0d |
for every subsequent node.
|
|
Packit |
0e0e0d |
- Optimization: replaced the _top_it() of _me_die() with a normal method
|
|
Packit |
0e0e0d |
with a conditional, as it was the only place where _top_it() was still
|
|
Packit |
0e0e0d |
used.
|
|
Packit |
0e0e0d |
- Optimization/Cleanup: _set_inodes() in ::DeepPath.
|
|
Packit |
0e0e0d |
- Clarified the licensing blurbs of the .pm files.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.1.8 2009-01-19
|
|
Packit |
0e0e0d |
- Optimization/Refactoring: replaced the last call to ->_father with a
|
|
Packit |
0e0e0d |
call to _current_father(). Removed ->_father and optimized
|
|
Packit |
0e0e0d |
_current_father() .
|
|
Packit |
0e0e0d |
- Optimization/Refactoring: refactored _become_default() to remove
|
|
Packit |
0e0e0d |
the execessive use of $father and $father->idx(). Now ->idx() is
|
|
Packit |
0e0e0d |
no longer needed and will be removed next.
|
|
Packit |
0e0e0d |
- Optimization/Refactoring: removed the ->idx() method as it
|
|
Packit |
0e0e0d |
was no longer used and needed.
|
|
Packit |
0e0e0d |
- Optimization: instead of calling File::Find::Object::Result->new()
|
|
Packit |
0e0e0d |
just bless to it.
|
|
Packit |
0e0e0d |
- Optimization: now caching the filesystem device at
|
|
Packit |
0e0e0d |
the top for nocrossfs().
|
|
Packit |
0e0e0d |
- Plus: rearranged the order of the checks in
|
|
Packit |
0e0e0d |
_non_top__check_subdir_helper
|
|
Packit |
0e0e0d |
- Optimization/Refactoring: made the _top_it method names saner,
|
|
Packit |
0e0e0d |
and removed an unused one.
|
|
Packit |
0e0e0d |
- Refactoring: refactored _check_subdir_helper_d() to make
|
|
Packit |
0e0e0d |
the conditions clearer.
|
|
Packit |
0e0e0d |
- Optimization: now compiling the _check_subdir_helper function
|
|
Packit |
0e0e0d |
by eval ""'ing it because it contains many conditions that depend
|
|
Packit |
0e0e0d |
on instance-wide and constant parameters.
|
|
Packit |
0e0e0d |
- Cleanup: moved some POD'ed out functions to under rejects/ .
|
|
Packit |
0e0e0d |
- Optimization: renamed _calc_next_obj() to next_obj(), as next_obj()
|
|
Packit |
0e0e0d |
just called it directly. Cleaned up the rest of the logic in next_obj().
|
|
Packit |
0e0e0d |
- Bug fix: the nocrossfs option was fixed. Previously it used an undefined
|
|
Packit |
0e0e0d |
method.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.1.7 2009-01-15
|
|
Packit |
0e0e0d |
- Fixed the check-for-link and for directory semantics on Windows
|
|
Packit |
0e0e0d |
and other systems. Converted to "perldoc -f lstat" instead of
|
|
Packit |
0e0e0d |
"perldoc -f stat", and using stat only for symbolic links to check
|
|
Packit |
0e0e0d |
if they are directories. Now added a test for that.
|
|
Packit |
0e0e0d |
- Fixed t/01ffo.t to check for the warning.
|
|
Packit |
0e0e0d |
- Also see: http://www.nntp.perl.org/group/perl.perl5.porters/2009/01/msg143399.html
|
|
Packit |
0e0e0d |
- Small optimization: converted a loop with:
|
|
Packit |
0e0e0d |
while($ptr) { ... } continue { $ptr = $self->_father($ptr); }
|
|
Packit |
0e0e0d |
to List::Util::first.
|
|
Packit |
0e0e0d |
- Added more dependencies to Build.PL / Makefile.PL including
|
|
Packit |
0e0e0d |
List::Util.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.1.6 2009-01-09
|
|
Packit |
0e0e0d |
- Converted the accessor generator to Class::XSAccessor instead
|
|
Packit |
0e0e0d |
of Class::Accessor. After consulting Devel::NYTProf, it seemed that
|
|
Packit |
0e0e0d |
the majority of the time of a simple File-Find-Object scan was spent
|
|
Packit |
0e0e0d |
in Class::Accessor. Hopefully, this will make F-F-O run faster.
|
|
Packit |
0e0e0d |
- A small optimization - added a flag to $self with whether the stack
|
|
Packit |
0e0e0d |
is full or not. This is used inside _top_it() and _is_top().
|
|
Packit |
0e0e0d |
- A small optimization - implemented _current directly instead of
|
|
Packit |
0e0e0d |
a _top / _non_top version - saved 2.5 seconds of runtime.
|
|
Packit |
0e0e0d |
- A small optimization - got rid of _current_components_copy() (which
|
|
Packit |
0e0e0d |
was useless because _current_components already returns a dynamic
|
|
Packit |
0e0e0d |
reference) and replaced all calls with calls to _current_components().
|
|
Packit |
0e0e0d |
- A small optimization - ->dir() instead of ->_dir_copy() for
|
|
Packit |
0e0e0d |
a function whose return value is dereferenced and flatted.
|
|
Packit |
0e0e0d |
- A small optimization - now caching the results of _current_components
|
|
Packit |
0e0e0d |
inside an accessor and updating it upon every change.
|
|
Packit |
0e0e0d |
- A small optimization - now caching the results of _current_path()
|
|
Packit |
0e0e0d |
upon every modification of _current_components, so File::Spec->catfile()
|
|
Packit |
0e0e0d |
won't be called excessively.
|
|
Packit |
0e0e0d |
- Optimization/Refactoring - changed the actions() handling so instead
|
|
Packit |
0e0e0d |
of having the indices, we calculate an array of master actions at
|
|
Packit |
0e0e0d |
start that correspond with the depth() parameter, and then assign it for
|
|
Packit |
0e0e0d |
each PathComponent object in turn based on $top. This is instead of
|
|
Packit |
0e0e0d |
the indexes and explicit calculations etc., which was both messier
|
|
Packit |
0e0e0d |
and slower.
|
|
Packit |
0e0e0d |
- Optimization/Refactoring - renamed _current_components() to
|
|
Packit |
0e0e0d |
_curr_comps() and _current_path to _curr_path() to make them
|
|
Packit |
0e0e0d |
shorter and faster. Added a comment explaining what they are.
|
|
Packit |
0e0e0d |
- Optimization/Refactoring - optimized _calc_current_item_obj.
|
|
Packit |
0e0e0d |
- Optimization - removed an _is_top() conditional in _recurse() that
|
|
Packit |
0e0e0d |
was likely not to be evaluated, by re-arranging the order of _mystat
|
|
Packit |
0e0e0d |
call. Now _mystat is not an action, but rather called explicitly.
|
|
Packit |
0e0e0d |
_is_top() is now PODded-out because it's not used.
|
|
Packit |
0e0e0d |
- Refactoring - made the top path component-handling object a separate
|
|
Packit |
0e0e0d |
object (::PathTop) instead of $top/$tree . Hopefully, this will later
|
|
Packit |
0e0e0d |
allow caching _current(), and having a unified directory stack.
|
|
Packit |
0e0e0d |
- Refactoring - created a base class for Path-Components (i.e: ::PathTop
|
|
Packit |
0e0e0d |
and ::PathComponent). Most of the methods out of ::Base belong there
|
|
Packit |
0e0e0d |
so they were moved. This class inherits from ::Base, but there's not
|
|
Packit |
0e0e0d |
a lot there anymore.
|
|
Packit |
0e0e0d |
- Refactoring - renamed ::PathComponent as ::DeepPath and ::PathTop
|
|
Packit |
0e0e0d |
as ::TopPath. Otherwise they could be confused with ::PathComp.
|
|
Packit |
0e0e0d |
- Refactoring - made the first ::PathTop component the first element
|
|
Packit |
0e0e0d |
in _dir_stack() so we won't need to keep in a distinct reference. All
|
|
Packit |
0e0e0d |
the other elements moved 1 level down the stack.
|
|
Packit |
0e0e0d |
- Optimization - now caching $top->_dir_stack()->[-1] into
|
|
Packit |
0e0e0d |
$top->_current() as an accessor.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.1.5 2009-01-03
|
|
Packit |
0e0e0d |
- Unified the two calls to stat() (and several calls to other file
|
|
Packit |
0e0e0d |
operators) in order to reduce the number of system calls/disk accesses
|
|
Packit |
0e0e0d |
issued by File::Find::Object.
|
|
Packit |
0e0e0d |
- Refactored the code from the last change and added
|
|
Packit |
0e0e0d |
File::Find::Object::Result->stat_ret() for the return value of stat().
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.1.4 2008-12-25
|
|
Packit |
0e0e0d |
- Bug fix: made sure ->item_obj() is available on the first call
|
|
Packit |
0e0e0d |
to the callback() and is properly synchronized with it.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.1.3 2008-11-12
|
|
Packit |
0e0e0d |
- Refactoring: converted _movenext() from pseudo-conditionals
|
|
Packit |
0e0e0d |
to polymorphism by making it a method of ->_current().
|
|
Packit |
0e0e0d |
- Refactoring: extracted the _next_traverse_to() method.
|
|
Packit |
0e0e0d |
- Bug fix (with possible correctness/SECURITY implications):
|
|
Packit |
0e0e0d |
- now correctly handling files and directories whose filenames
|
|
Packit |
0e0e0d |
are false in Perl - most notable "0".
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.1.2 2008-10-26
|
|
Packit |
0e0e0d |
- Corrected the README.
|
|
Packit |
0e0e0d |
- Now checking for inodes that are 0, when checking for cyclical trees,
|
|
Packit |
0e0e0d |
as a fix for stat() calls on systems that do not support them. This should
|
|
Packit |
0e0e0d |
fix Win32 test failures (and bad behaviour in general) like the following: - http://nntp.x.perl.org/group/perl.cpan.testers/2479582
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.1.1 2008-10-22
|
|
Packit |
0e0e0d |
- Potential Security Fix!!! No longer passing a filename directly to
|
|
Packit |
0e0e0d |
the format in <<printf (STDERR)>> when warning on a loop.
|
|
Packit |
0e0e0d |
- Bug fix - the check for a loop was broken.
|
|
Packit |
0e0e0d |
- New Feature - Added the ->next_obj() and ->item_obj() methods
|
|
Packit |
0e0e0d |
to return a File::Find::Object::Result object instead of a plain
|
|
Packit |
0e0e0d |
path.
|
|
Packit |
0e0e0d |
- Refactoring:
|
|
Packit |
0e0e0d |
- No longer passing $current explicitly from one method to another
|
|
Packit |
0e0e0d |
(hello EEK!). Instead, we reference $self->_current()
|
|
Packit |
0e0e0d |
- Remmed out the DESTROY method as it was empty.
|
|
Packit |
0e0e0d |
- Revamped the _action handling - an array instead of a hash.
|
|
Packit |
0e0e0d |
- Created _top and _non_top methods delegated by _is_top using
|
|
Packit |
0e0e0d |
_top_it()
|
|
Packit |
0e0e0d |
- _current_idx() was eliminated - now it's just $#dir_stack.
|
|
Packit |
0e0e0d |
- Created a _copy methods to create flat copies of array references.
|
|
Packit |
0e0e0d |
- Extracted many methods.
|
|
Packit |
0e0e0d |
- Switched Build.PL to inc/Test/Run/Builder.pm - that gives us:
|
|
Packit |
0e0e0d |
- ./Build runtest
|
|
Packit |
0e0e0d |
- ./Build distruntest
|
|
Packit |
0e0e0d |
- ./Build tags
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.1.0 2008-03-05
|
|
Packit |
0e0e0d |
- Now handling directories that cannot be opendir()'ed in a graceful
|
|
Packit |
0e0e0d |
manner - just not traversing them further.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.0.9 2008-02-22
|
|
Packit |
0e0e0d |
- Now running canonpath() on the targets in the call to
|
|
Packit |
0e0e0d |
File::Find::Object->new. That way, trailing slashes are omitted in
|
|
Packit |
0e0e0d |
the results.
|
|
Packit |
0e0e0d |
- Allow File::Find::Object to properly accept paths to regular
|
|
Packit |
0e0e0d |
files as input paths. Fixes:
|
|
Packit |
0e0e0d |
http://rt.cpan.org/Public/Bug/Display.html?id=33453
|
|
Packit |
0e0e0d |
Thanks to Sergey V Panteleev for reporting the bug.
|
|
Packit |
0e0e0d |
- TODO : check behavior on traversing non-existant paths.
|
|
Packit |
0e0e0d |
- Done.
|
|
Packit |
0e0e0d |
- Now skipping non-existant files.
|
|
Packit |
0e0e0d |
- Added a test for it in t/03traverse.t
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.0.8 2007-07-31
|
|
Packit |
0e0e0d |
- added the empty PL_FILES key to the Makefile.PL to avoid running
|
|
Packit |
0e0e0d |
Build.PL on older versions of EU::MM.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.0.7 2007-02-02
|
|
Packit |
0e0e0d |
- moved the tree script under the examples directory.
|
|
Packit |
0e0e0d |
- added the LICENSE section to the POD.
|
|
Packit |
0e0e0d |
- added t/pod.t and t/pod-coverage.t and made sure the module
|
|
Packit |
0e0e0d |
has full POD coverage.
|
|
Packit |
0e0e0d |
- added a Build.PL build script to generate a better META.yml file.
|
|
Packit |
0e0e0d |
- all of these are Kwalitee improvements.
|
|
Packit |
0e0e0d |
( http://cpants.perl.org/dist/File-Find-Object )
|
|
Packit |
0e0e0d |
- Added some links to the main POD documentation for similar modules
|
|
Packit |
0e0e0d |
and for the Perl Advent article.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.0.6 2006-11-28
|
|
Packit |
0e0e0d |
- Added the following new interface methods:
|
|
Packit |
0e0e0d |
- set_traverse_to
|
|
Packit |
0e0e0d |
- get_traverse_to
|
|
Packit |
0e0e0d |
- get_current_node_files_list
|
|
Packit |
0e0e0d |
- prune
|
|
Packit |
0e0e0d |
- Some changes to the internals to accomodate for them.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.0.5 2006-09-03
|
|
Packit |
0e0e0d |
- Eliminated the F-F-O-internal isa F-F-O relationship.
|
|
Packit |
0e0e0d |
- Created accessors for everything - now based on Class::Accessor
|
|
Packit |
0e0e0d |
- F-F-O-internal is now named File::Find::Object::PathComponent
|
|
Packit |
0e0e0d |
- Some smaller refactorings.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.0.4 2006-08-23
|
|
Packit |
0e0e0d |
- Eliminated circular references. (Hopefully)
|
|
Packit |
0e0e0d |
- Still have an isa relationship between File::Find::Object and
|
|
Packit |
0e0e0d |
File::Find::Object::internal, which is what handles each recursed to
|
|
Packit |
0e0e0d |
directory.
|
|
Packit |
0e0e0d |
- Created some accessor functions instead of direct hash accesses.
|
|
Packit |
0e0e0d |
|
|
Packit |
0e0e0d |
0.0.3 2006-07-14
|
|
Packit |
0e0e0d |
- Fixed some language problems in the POD.
|
|
Packit |
0e0e0d |
- Added the Changes file.
|
|
Packit |
0e0e0d |
- Changed the license to GPL/Artistic/Artistic-2.0
|
|
Packit |
0e0e0d |
- Placed the .pm files inside lib.
|
|
Packit |
0e0e0d |
- Added the TreeCreate module under t/lib (with appropriate tests) to test
|
|
Packit |
0e0e0d |
the main module.
|
|
Packit |
0e0e0d |
- Made the default test order lexicographical, and predictable. In the
|
|
Packit |
0e0e0d |
process, eliminated keeping the directory handles, and possibly the fact
|
|
Packit |
0e0e0d |
that they are kept open.
|
|
Packit |
0e0e0d |
- Fixed a bug where circular references prevented the module from being
|
|
Packit |
0e0e0d |
destroyed.
|
|
Packit |
0e0e0d |
|