diff options
author | Eric Wong <e@80x24.org> | 2023-04-07 12:40:52 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2023-04-07 22:17:22 +0000 |
commit | c25c66af0a8ac8b079babce1d127f1070267e8e6 (patch) | |
tree | 30bdc114c403d63e7f611a1b584226acaadd68be /lib/PublicInbox/SearchIdx.pm | |
parent | 39b99c2514230f419fae8c2b52a7d55eaad1cd44 (diff) | |
download | public-inbox-c25c66af0a8ac8b079babce1d127f1070267e8e6.tar.gz |
Perl has native `vstring' encoding for vector (or version) strings, make use of it instead of relying on difficult-to-read hex versions and integer shifts.
Diffstat (limited to 'lib/PublicInbox/SearchIdx.pm')
-rw-r--r-- | lib/PublicInbox/SearchIdx.pm | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm index 511dd4d6..496cea05 100644 --- a/lib/PublicInbox/SearchIdx.pm +++ b/lib/PublicInbox/SearchIdx.pm @@ -114,15 +114,15 @@ sub load_xapian_writable () { *sortable_serialise = $xap.'::sortable_serialise'; $DB_CREATE_OR_OPEN = eval($xap.'::DB_CREATE_OR_OPEN()'); $DB_OPEN = eval($xap.'::DB_OPEN()'); - my $ver = (eval($xap.'::major_version()') << 16) | - (eval($xap.'::minor_version()') << 8) | - eval($xap.'::revision()'); - if ($ver >= 0x10400) { + my $ver = eval 'v'.join('.', eval($xap.'::major_version()'), + eval($xap.'::minor_version()'), + eval($xap.'::revision()')); + if ($ver ge 1.4) { # new flags in Xapian 1.4 $DB_NO_SYNC = 0x4; $DB_DANGEROUS = 0x10; } # Xapian v1.2.21..v1.2.24 were missing close-on-exec on OFD locks - $X->{CLOEXEC_UNSET} = 1 if $ver >= 0x010215 && $ver <= 0x010218; + $X->{CLOEXEC_UNSET} = 1 if $ver ge v1.2.21 && $ver le v1.2.24; 1; } |