Fix inverted index sizing (for bz 837626)
This commit is contained in:
parent
41ce6fe712
commit
860da53e50
45
cscope-invindex-sizing.patch
Normal file
45
cscope-invindex-sizing.patch
Normal file
@ -0,0 +1,45 @@
|
||||
diff -u -r1.20 invlib.c
|
||||
--- src/invlib.c 12 Mar 2012 17:57:55 -0000 1.20
|
||||
+++ src/invlib.c 10 Jul 2012 19:57:51 -0000
|
||||
@@ -169,8 +169,8 @@
|
||||
numpost = 1;
|
||||
|
||||
/* set up as though a block had come and gone, i.e., set up for new block */
|
||||
- /* FIXME HBB: magic number alert (16) */
|
||||
- amtused = 16; /* leave no space - init 3 words + one for luck */
|
||||
+ /* 3 longs needed for: numinvitems, next block, and previous block */
|
||||
+ amtused = 3 * sizeof(long);
|
||||
numinvitems = 0;
|
||||
numlogblk = 0;
|
||||
lastinblk = sizeof(t_logicalblk);
|
||||
@@ -371,8 +371,10 @@
|
||||
zipf[0]++;
|
||||
#endif
|
||||
len = strlen(thisterm);
|
||||
+ /* length of term rounded up to long boundary */
|
||||
wdlen = (len + (sizeof(long) - 1)) / sizeof(long);
|
||||
- /* HBB FIXME 20060419: magic number: 3 */
|
||||
+ /* each term needs 2 longs for its iteminfo and
|
||||
+ * 1 long for its offset */
|
||||
numwilluse = (wdlen + 3) * sizeof(long);
|
||||
/* new block if at least 1 item in block */
|
||||
if (numinvitems && numwilluse + amtused > sizeof(t_logicalblk)) {
|
||||
@@ -435,7 +437,8 @@
|
||||
invcannotwrite(indexfile);
|
||||
return(0);
|
||||
}
|
||||
- amtused = 16;
|
||||
+ /* 3 longs needed for: numinvitems, next block, and previous block */
|
||||
+ amtused = 3 * sizeof(long);
|
||||
numlogblk++;
|
||||
/* check if had to back up, if so do it */
|
||||
if (backupflag) {
|
||||
@@ -468,7 +471,7 @@
|
||||
while (tptr3 > tptr)
|
||||
*--tptr2 = *--tptr3;
|
||||
lastinblk -= j;
|
||||
- amtused += (8 * backupflag + j);
|
||||
+ amtused += ((2 * sizeof(long)) * backupflag + j);
|
||||
for (i = 3; i < (backupflag * 2 + 2); i += 2) {
|
||||
iteminfo.packword[0] = logicalblk.invblk[i];
|
||||
iteminfo.e.offset += (tptr2 - tptr3);
|
@ -1,7 +1,7 @@
|
||||
Summary: C source code tree search and browse tool
|
||||
Name: cscope
|
||||
Version: 15.8
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Source0: https://downloads.sourceforge.net/project/%{name}/%{name}/%{version}/%{name}-%{version}.tar.bz2
|
||||
URL: http://cscope.sourceforge.net
|
||||
License: BSD and GPLv2+
|
||||
@ -15,6 +15,8 @@ Requires: emacs-filesystem xemacs-filesystem
|
||||
%define emacs_lisp_path %{_datadir}/emacs/site-lisp
|
||||
%define vim_plugin_path %{_datadir}/vim/vimfiles/plugin
|
||||
|
||||
Patch0: cscope-invindex-sizing.patch
|
||||
|
||||
%description
|
||||
cscope is a mature, ncurses based, C source code tree browsing tool. It
|
||||
allows users to search large source code bases for variables, functions,
|
||||
@ -24,6 +26,7 @@ matches for use in file editing.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p0
|
||||
|
||||
%build
|
||||
%configure
|
||||
@ -80,6 +83,9 @@ rm -f %{emacs_lisp_path}/xcscope.el
|
||||
rm -f %{vim_plugin_path}/cctree.vim
|
||||
|
||||
%changelog
|
||||
* Tue Jul 10 2012 Neil Horman <nhorman@redhat.com> - 15.8-2
|
||||
- Fix inverted index sizing
|
||||
|
||||
* Mon Jun 18 2012 Neil Horman <nhorman@redhat.com> - 15.8
|
||||
- Update to latest upstream
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user