From: SourceForge.net <no...@so...> - 2004-10-05 14:28:19
|
Bugs item #1040690, was opened at 2004-10-05 10:28 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104664&aid=1040690&group_id=4664 Category: inverted index handling Group: None Status: Open Resolution: None Priority: 5 Submitted By: Neil Horman (nhorman) Assigned to: Nobody/Anonymous (nobody) Summary: -q mode skews database when files are not readable Initial Comment: when building an inverted index in cscope, if a file is placed in the srcfiles list that is unreadable, the file index in the database file is skewed such that searches return hits in the wrong files. To reproduce: create two source files in a directory: a.c and b.c create a main function in b.c create a foo function in a.c make a.c unreadable (chmod 000 a.c) run cscope -q search for the definition of main The search will return that the defintion was found in a.c rather than in b.c as it should have I've attached a patch that corrects this. As discussed on the mailing list, this appears to be due to a skew in the database file which arises from a file being listed on the srcfiles list, but not having a requisite database entry added in the crossref() function, since it returns early if the file is found to be unreadable. This patch corrects the issue by placing a minimal database entry in the database for every file in the srcfiles list regarless of its readability status. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104664&aid=1040690&group_id=4664 |