diff options
author | Colin Watson <cjwatson@debian.org> | 2011-01-10 20:08:22 +0000 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2011-01-10 20:08:22 +0000 |
commit | e2c06f5399700d43261b396dcd8c526aca4fdd08 (patch) | |
tree | cd453be57fbcef8511393b2361f01741a41a5b30 /src/Makefile.am | |
parent | 6124c25e8749246d1212e0c68335061d3668df98 (diff) |
If mandb sees that A is a symlink to B, it should never store a
whatis reference for B (Debian bug #204249).
* src/check_mandirs.c (whatis_hashtable_free): New function.
(test_manfile): Change whatis_hash free function to
whatis_hashtable_free. Fetch an ult_trace structure from ult_src,
record it in whatis_hash in the case of a cache miss, and pass it
to store_descriptions.
* src/descriptions_store.c (is_prefix): New function.
(store_descriptions): Add path and trace parameters. Update all
callers.
* src/descriptions.h (store_descriptions): Update prototype. Count
a match for any name in the provided ult_trace structure as
indicating that we shouldn't create a whatis reference. If a name
matches a trace entry outside the current manual hierarchy, skip
that name entirely.
* src/ult_src.c (ult_trace, free_ult_trace): New functions.
(ult_src): Add trace parameter. Record each file name we
encounter in the trace. Update all callers.
* src/ult_src.h (ult_src): Update prototype.
(free_ult_trace): Add prototype.
* src/Makefile.am (lexgrog_SOURCES): Add filenames.c and
filenames.h.
* src/tests/mandb-2: Test two-level symlinks.
* src/tests/mandb-4: New file.
* src/tests/Makefile.am (ALL_TESTS): Add mandb-4.
Diffstat (limited to 'src/Makefile.am')
-rw-r--r-- | src/Makefile.am | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index c7777c08..5460fd93 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,7 +1,8 @@ ## Process this file with automake to produce Makefile.in ## ## Copyright (C) 1994, 1995 Graeme Wilford. -## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Colin Watson. +## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +## 2011 Colin Watson. ## ## This file is part of man-db. ## @@ -80,6 +81,8 @@ lexgrog_SOURCES = \ compression.c \ descriptions.c \ descriptions.h \ + filenames.c \ + filenames.h \ lexgrog.l \ lexgrog_test.c \ manconv.c \ |