aboutsummaryrefslogtreecommitdiffstats
path: root/lxr-genxref
diff options
context:
space:
mode:
authorArne Georg Gleditsch <argggh@lxr.linpro.no>2008-08-21 21:38:00 +0200
committerArne Georg Gleditsch <argggh@lxr.linpro.no>2008-08-21 21:38:00 +0200
commit52cab08b9bb06bcc822b4e8d99455e693b8b64ae (patch)
treea6fc75d2c5f18b98213e4d126c9aab7a73110fa8 /lxr-genxref
parent17034adefacae12d6522eecc4a9e1f6ad04430fc (diff)
parent7ee74cd1dd28ee902582e71cf8d3ebddd06c0599 (diff)
Merge branch 'master' of /home/argggh/git/lxrng/
Diffstat (limited to 'lxr-genxref')
-rwxr-xr-xlxr-genxref9
1 files changed, 9 insertions, 0 deletions
diff --git a/lxr-genxref b/lxr-genxref
index 3173bdd..d61526f 100755
--- a/lxr-genxref
+++ b/lxr-genxref
@@ -230,10 +230,18 @@ sub reference_file($$$) {
sub hash_file($$$) {
my ($file, $fileid, $rels) = @_;
+ return 0 if $context->config->{'search_size_limit'} > 0 and
+ $file->size > $context->config->{'search_size_limit'};
+
my $docid;
if ($index->to_hash($fileid)) {
my $handle;
sysopen($handle, $file->phys_path, 0) || die($!);
+ unless (-T $handle) {
+ $handle->close();
+ return 0;
+ }
+
warn("--- hashing ".$file->name." [".$file->revision."]\n");
my $doc = $hash->new_document($file->name);
while (<$handle>) {
@@ -255,6 +263,7 @@ sub hash_file($$$) {
}
else {
$docid = $index->get_hashed_document($fileid);
+ return 0 unless $docid;
my $doc = $hash->get_document($docid);
if (reference_file($file, $fileid, $doc)) {
$hash->save_document($docid, $doc);