Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Changes:
- If an odd number of parameters was given to validate() in the array
as its first argument, the error given would be different depending on
whether or not the pure Perl or XS version of the code was being used.
- Fixed incredibly odd bug that occurred in XS code when tainting was
on with Perl 5.00503. Unfortunately, the only test case that reliably
reproduces this is one of Mason's tests, so no test was added.
- Fix some compiler warnings from MS Visual Studio 6. Reported by Ron
Hill.
- When called from the main body of a script, the validation routines
would cause an undefined value warning if validation failed. Reported
by Britton Kerin and fixed by Ilya Martynov.
- The XS code that handled callbacks expects all callbacks to return
an integer, instead of simply testing the returned value for truth.
This could cause strange warnings like 'Argument "InMemory" isn't
numeric in subroutine entry...'. Based on a bug report from Robert
Dick for another module I wrote (Lingua::ZH::CCDICT).
- Fixed Params::Validate for Perl configurations where sizeof(IV) !=
sizeof(int). Reported by Alain Barbet.
- Something around test 5 in 06-options.t appear to cause Perl to
die/segfault/something under 5.6.0. These tests will be skipped with
5.6.0 in the future. Reported by Christian Schaffner.
- When testing for a compiler, use nmake on Win32. Implemented by
Ronald Hill.
- Added regex validation option.
- Added copyright info to each source file. Added LICENSE file to
distro.
- Added an XS implementation, written by Ilya Martynov. The pure Perl
implementation is still included as a fallback for users who do not
have a compiler handy. The XS implementation gives a speed boost of
150% to 300%, depending on the complexity of the validation being
done.
This XS code is known to work Perl 5.00503+, but it may not work with
earlier versions of Perl.
- Fix Attribute::Params::Validate docs to show that attribute
declaration must have open paren immediately after "Validate" or
"ValidatePos". Reported by Britton Kerin.
- Fix bug with Perl 5.8.0 when in PERL_NO_VALIDATION mode and calling
validate() expecting a hash ref to be returned. Reported by Randal
Schwartz.
- Argh. In 0.22 some of the tests printed their test counts (1..x)
after doing the tests. This works with newer versions of
Test::Harness so I didn't notice it. Reported by Peter Asemann.
- The last version's tarball was a mess, and had blib and other junk
in it. This is a nice clean one.
- The various validation functions are now context sensitive, and will
return a reference in scalar context. This may be a helpful speedup,
especially for large parameter lists.
- More optimization work.
-- Improved the speed of both validate() and validate_pos() by about
20-25%.
-- Improved the speed of the 'no validation' mode for validate() by
over 30%, for validation_pos() by 15%, and for validate_with() by
125%.
-- The speed of validate_with() has been improved by over 100%, but
this was at the expense of not validating its own incoming arguments,
thus making it a little more fragile.
- The PERL_NO_VALIDATION env var is now _only_ checked when the module
is loaded. This means you cannot change it mid-program. This is a
backwards incompatibility.
- Added a new function, validate_with(), that allow you to set various
options on a per-invocation basis, rather than on a per-package basis.
Patch by Ken Williams.
- Fix a doc nit where I had a wrong code example. Reported by Britton
Kerin.
- Added a new validation option parameter, stack_skip, which allows
you to change how errors are reported by Params::Validate.
- Improve skipping of tests when run with 5.6.0. Patch by Ken
Williams.
- Silence an uninit value warning
|
|
Should anybody feel like they could be the maintainer for any of thewe packages,
please adjust.
|
|
|
|
Change :
- validate_pos would die stupidly when it received an array with an
odd number of elements.
|
|
- validate_pos used exists on an array element, which only works with
5.6.0. This releaes makes it work 5.00503 again.
- the validation parameters are checked first now
- performance improved on named parameters
- add BOOLEAN type (equivalent to UNDEF | SCALAR)
- fixed buges in test
- apply some of the same optimizations to positional parameters
|
|
|
|
|
|
- The 'NO_VALIDATION' mode was seriously broken in that it didn't
handle defaults at all.
- The 'NO_VALIDATION' env var was mis-documented as being
'NO_VALIDATE'.
- The 'NO_VALIDATION' env var is now 'PERL_NO_VALIDATION' and this
method of disabling validation is no longer considered alpha.
- The validation functions now check this environment variable every
time they are called.
- Fix problem with CPAN shell's 'r' command that
Attribute::Params::Validate was causing with older Perl's.
- Add ability to specify defaults for parameters and get a new
hash/array back from validate or validate_pos.
- Require Attribute::Handlers if using Perl 5.6.0+.
- fix doc nits.
- Added Attribute::Params::Validate - do validation via attributes
- Rename set_options to validation_options. This can now be exported
safely and is included in the :all export tag. set_options is
deprecated and will be removed in a future release.
Also fixes PR/15225 by Shell Hung.
|
|
${PREFIX} -- everything else is pickup up from ${BUILDLINK_DIR}.
|
|
|
|
The automatic truncation in gensolpkg doesn't work for packages which
have the same package name for the first 5-6 chars.
e.g. amanda-server and amanda-client would be named amanda and amanda.
Now, we add a SVR4_PKGNAME and use amacl for amanda-client and amase for
amanda-server.
All svr4 packages also have a vendor tag, so we have to reserve some chars
for this tag, which is normaly 3 or 4 chars. Thats why we can only use 6
or 5 chars for SVR4_PKGNAME. I used 5 for all the packages, to give the
vendor tag enough room.
All p5-* packages and a few other packages have now a SVR4_PKGNAME.
|
|
The Params::Validate module provides a flexible system for validation
method/function call parameters. The validation can be as simple as
checking for the presence of required parameters or as complex as
validating object classes (via isa) or capabilities (via can),
checking parameter types, and using customized callbacks to ensure
data integrity.
|