develooper Front page | perl.perl5.changes | Postings from January 2021

[Perl/perl5] e03e7c: Improve GDBM_File

From:
Sergey Poznyakoff via perl5-changes
Date:
January 6, 2021 23:45
Subject:
[Perl/perl5] e03e7c: Improve GDBM_File
Message ID:
Perl/perl5/push/refs/heads/blead/2c4406-35cde4@github.com
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: e03e7cdb6e3945a4eccf1c80f087b043ef8045f5
      https://github.com/Perl/perl5/commit/e03e7cdb6e3945a4eccf1c80f087b043ef8045f5
  Author: Sergey Poznyakoff <gray@gnu.org>
  Date:   2021-01-06 (Wed, 06 Jan 2021)

  Changed paths:
    M AUTHORS
    M MANIFEST
    M ext/GDBM_File/GDBM_File.pm
    M ext/GDBM_File/GDBM_File.xs
    A ext/GDBM_File/t/count.t
    A ext/GDBM_File/t/opt.t
    M ext/GDBM_File/typemap

  Log Message:
  -----------
  Improve GDBM_File

This patch implements new functions and improves compatibility with
new versions of GDBM.

* ext/GDBM_File/GDBM_File.xs: Define interface methods for
functions in newer GDBM versions.
(GDBM_version): New static method.  Return the version number
(string in scalar, array of numbers in list context).  Provide
heurisics for determining the library version for GDBM prior
to 1.9.
(gdbm_close): Propagate return value from the library call.
(gdbm_DESTROY): Croak if closing the database fails.
(gdbm_UNTIE): New method.
(gdbm_FETCH): Check database validity. Croak if gdbm_fetch returns
error (except GDBM_ITEM_NOT_FOUND).
(gdbm_STORE,gdbm_DELETE): Likewise.
(gdbm_FIRSTKEY,gdbm_NEXTKEY): Likewise.
(gdbm_EXISTS): Check database validity.
(gdbm_errno): New function.
(gdbm_syserrno): New function.
(gdbm_strerror): New function.
(gdbm_clear_error): New function.
(gdbm_needs_recovery): New function.
(gdbm_recover): New function.
(gdbm_count): New function.
* ext/GDBM_File/typemap (gdbm_count_t): Map to T_COUNT.
* ext/GDBM_File/GDBM_File.pm: Document everything. Raise $VERSION.

* MANIFEST: Update.
* AUTHORS: Update.


  Commit: 35cde4f7e7f6687315e63f6c984bb94b71564667
      https://github.com/Perl/perl5/commit/35cde4f7e7f6687315e63f6c984bb94b71564667
  Author: Sergey Poznyakoff <gray@gnu.org>
  Date:   2021-01-06 (Wed, 06 Jan 2021)

  Changed paths:
    M ext/GDBM_File/GDBM_File.xs
    M ext/GDBM_File/t/count.t
    M ext/GDBM_File/t/fatal.t
    M ext/GDBM_File/t/opt.t
    M ext/GDBM_File/typemap

  Log Message:
  -----------
  GDBM_File: minor changes

* ext/GDBM_File/GDBM_File.xs (rcvr_errfun): Use dTHX
(gdbm_GDBM_version): Don't declare package.
* ext/GDBM_File/typemap: Map gdbm_count_t to T_UV.

* ext/GDBM_File/t/count.t: Use File::Temp to create db in
a temporary directory.
* ext/GDBM_File/t/fatal.t: Likewise.
* ext/GDBM_File/t/opt.t: Likewise.


Compare: https://github.com/Perl/perl5/compare/2c4406d7c5ee...35cde4f7e7f6



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About