lib/PublicInbox/SearchIdxShard.pm | 5 +++-- diff --git a/lib/PublicInbox/SearchIdxShard.pm b/lib/PublicInbox/SearchIdxShard.pm index 644d8b58e65883c55ea09b4f780ba4736b2a9028..e194b7e0aa1f0ab2e3e464e6fbc163ea36655824 100644 --- a/lib/PublicInbox/SearchIdxShard.pm +++ b/lib/PublicInbox/SearchIdxShard.pm @@ -87,8 +87,9 @@ eml($r, $len)); } else { chomp $line; my $eidx_key; - if ($line =~ s/\AX(.+)\0//) { + if ($line =~ s/\AX=(.+)\0//) { $eidx_key = $1; + $v2w->{current_info} =~ s/\0/\\0/; } # n.b. $mid may contain spaces(!) my ($len, $bytes, $num, $oid, $ds, $ts, $tid, $mid) @@ -114,7 +115,7 @@ sub index_raw { my ($self, $msgref, $eml, $smsg, $ibx) = @_; if (my $w = $self->{w}) { if ($ibx) { - print $w 'X', $ibx->eidx_key, "\0" or die + print $w 'X=', $ibx->eidx_key, "\0" or die "failed to write shard: $!\n"; } $msgref //= \($eml->as_string);