diff --git a/.gitignore b/.gitignore index 87915eb..f1ae378 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1 @@ -cscope-15.5.tar.gz -cscope-15.5-inverted.patch -cscope-15.6.tar.gz -cscope-15.7a.tar.bz2 -/cscope-15.8.tar.bz2 -/cscope-15.8b.tar.gz /cscope-15.9.tar.gz diff --git a/cscope-1-modified-from-patch-81-Fix-reading-include-files-in-.patch b/cscope-1-modified-from-patch-81-Fix-reading-include-files-in-.patch new file mode 100644 index 0000000..8acf8fa --- /dev/null +++ b/cscope-1-modified-from-patch-81-Fix-reading-include-files-in-.patch @@ -0,0 +1,45 @@ +From 39fb385d69dc06343e8f8a7e28d516d5aef97ec8 Mon Sep 17 00:00:00 2001 +From: Hans-Bernhard Broeker <HBBroeker@T-Online.de> +Date: Sat, 28 Jul 2018 17:50:03 +0200 +Subject: [PATCH 1/9] [modified from patch #81] Fix reading include files in -c + mode + +Signed-off-by: Vladis Dronov <vdronov@redhat.com> +--- + src/build.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/build.c b/src/build.c +index a32b5cb..557e660 100644 +--- a/src/build.c ++++ b/src/build.c +@@ -124,7 +124,7 @@ samelist(FILE *oldrefs, char **names, int count) + } + /* see if the name list is the same */ + for (i = 0; i < count; ++i) { +- if ((1 != fscanf(oldrefs," %[^\n]",oldname)) || ++ if ((1 != fscanf(oldrefs," %" PATHLEN_STR "[^\n]",oldname)) || + strnotequal(oldname, names[i])) { + return(NO); + } +@@ -305,7 +305,7 @@ cscope: -q option mismatch between command line and old symbol database\n"); + /* see if the list of source files is the same and + none have been changed up to the included files */ + for (i = 0; i < nsrcfiles; ++i) { +- if ((1 != fscanf(oldrefs," %[^\n]",oldname)) ++ if ((1 != fscanf(oldrefs, " %" PATHLEN_STR "[^\n]", oldname)) + || strnotequal(oldname, srcfiles[i]) + || (lstat(srcfiles[i], &statstruct) != 0) + || (statstruct.st_mtime > reftime) +@@ -315,7 +315,7 @@ cscope: -q option mismatch between command line and old symbol database\n"); + } + /* the old cross-reference is up-to-date */ + /* so get the list of included files */ +- while (i++ < oldnum && fgets(oldname, sizeof(oldname), oldrefs)) { ++ while (i++ < oldnum && fscanf(oldrefs, "%" PATHLEN_STR "s", oldname)) { + addsrcfile(oldname); + } + fclose(oldrefs); +-- +2.26.2 + diff --git a/cscope-15.8-configure-in.patch b/cscope-15.8-configure-in.patch deleted file mode 100644 index 47ae696..0000000 --- a/cscope-15.8-configure-in.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up ./configure.in.orig ./configure.in ---- ./configure.in.orig 2013-03-25 11:56:12.588450042 -0400 -+++ ./configure.in 2013-03-25 11:56:19.723645454 -0400 -@@ -14,6 +14,7 @@ dnl AC_CHECK_YACC - dnl Checks for programs. - AC_PROG_INSTALL - AC_PROG_CC -+AM_PROG_CC_C_O - AC_EXEEXT - AM_PROG_LEX - AM_CONDITIONAL(USING_LEX, test "x$LEX" = "xlex") diff --git a/cscope-15.8-empty-function-array.patch b/cscope-15.8-empty-function-array.patch deleted file mode 100644 index 3a1ca62..0000000 --- a/cscope-15.8-empty-function-array.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up ./src/find.c.orig ./src/find.c ---- ./src/find.c.orig 2014-04-15 12:17:44.412383314 -0400 -+++ ./src/find.c 2014-04-15 12:19:17.122065215 -0400 -@@ -1201,7 +1201,9 @@ getposting(void) - static void - putpostingref(POSTING *p, char *pat) - { -- static char function[PATLEN + 1]; /* function name */ -+ // initialize function to "unknown" so that the first line of temp1 -+ // is properly formed if symbol matches a header file entry first time -+ static char function[PATLEN + 1] = "unknown";/* function name */ - - if (p->fcnoffset == 0) { - if (p->type == FCNDEF) { /* need to find the function name */ diff --git a/cscope-2-Cull-extraneous-declaration.patch b/cscope-2-Cull-extraneous-declaration.patch new file mode 100644 index 0000000..ccbeba2 --- /dev/null +++ b/cscope-2-Cull-extraneous-declaration.patch @@ -0,0 +1,26 @@ +From 6a6998ecd0392ea643c4c4b317af9af8270761aa Mon Sep 17 00:00:00 2001 +From: Hans-Bernhard Broeker <HBBroeker@T-Online.de> +Date: Thu, 9 Aug 2018 16:25:31 +0200 +Subject: [PATCH 3/9] Cull extraneous declaration + +Signed-off-by: Vladis Dronov <vdronov@redhat.com> +--- + src/global.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/global.h b/src/global.h +index dbc8a43..a6f1486 100644 +--- a/src/global.h ++++ b/src/global.h +@@ -224,7 +224,7 @@ extern char dicode2[]; /* digraph second character code */ + + dicode2[(unsigned char)(inchar2)]) + + /* main.c global data */ +-extern char *editor, *home, *shell, *lineflag; /* environment variables */ ++extern char *editor, *shell, *lineflag; /* environment variables */ + extern char *home; /* Home directory */ + extern BOOL lineflagafterfile; + extern char *argv0; /* command name */ +-- +2.26.2 + diff --git a/cscope-3-Avoid-putting-directories-found-during-header-search.patch b/cscope-3-Avoid-putting-directories-found-during-header-search.patch new file mode 100644 index 0000000..500ce15 --- /dev/null +++ b/cscope-3-Avoid-putting-directories-found-during-header-search.patch @@ -0,0 +1,32 @@ +From f693474b85f8dc1d31570833c62d9210ed1ffcf2 Mon Sep 17 00:00:00 2001 +From: mikhail nefedov <mnefedov@users.sourceforge.net> +Date: Thu, 23 Aug 2018 00:36:52 +0200 +Subject: [PATCH 4/9] Avoid putting directories found during header search into + srcfiles. + +Signed-off-by: Vladis Dronov <vdronov@redhat.com> +--- + src/dir.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/dir.c b/src/dir.c +index 01c599e..7f7287e 100644 +--- a/src/dir.c ++++ b/src/dir.c +@@ -616,8 +616,11 @@ incfile(char *file, char *type) + snprintf(path, sizeof(path), "%.*s/%s", + (int)(PATHLEN - 2 - file_len), incdirs[i], + file); +- if (access(compath(path), READ) == 0) { +- addsrcfile(path); ++ if (access(compath(path), READ) == 0) { ++ struct stat st; ++ if( 0 == stat(path,&st) && S_ISREG(st.st_mode) ) { ++ addsrcfile(path); ++ } + break; + } + } +-- +2.26.2 + diff --git a/cscope-4-Avoid-double-free-via-double-fclose-in-changestring.patch b/cscope-4-Avoid-double-free-via-double-fclose-in-changestring.patch new file mode 100644 index 0000000..8e862bf --- /dev/null +++ b/cscope-4-Avoid-double-free-via-double-fclose-in-changestring.patch @@ -0,0 +1,38 @@ +From f632c3fd86fce2c495a290dd70f5f09e3e7e7a28 Mon Sep 17 00:00:00 2001 +From: Hans-Bernhard Broeker <HBBroeker@T-Online.de> +Date: Sat, 13 Apr 2019 14:52:35 +0200 +Subject: [PATCH 5/9] Avoid double-free via double fclose in changestring. + +Mark closed FILE* by setting it to NULL, and check for that. + +Signed-off-by: Vladis Dronov <vdronov@redhat.com> +--- + src/command.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/command.c b/src/command.c +index 8740b11..dcb5278 100644 +--- a/src/command.c ++++ b/src/command.c +@@ -786,6 +786,7 @@ changestring(void) + } + fprintf(script, "w\nq\n!\n"); /* write and quit */ + fclose(script); ++ script = NULL; + + /* if any line was marked */ + if (anymarked == YES) { +@@ -803,7 +804,9 @@ changestring(void) + } + changing = NO; + mousemenu(); +- fclose(script); ++ if (script != NULL) { ++ fclose(script); ++ } + free(change); + return(anymarked); + } +-- +2.26.2 + diff --git a/cscope-5-contrib-ocs-Fix-bashims-Closes-480591.patch b/cscope-5-contrib-ocs-Fix-bashims-Closes-480591.patch new file mode 100644 index 0000000..1807974 --- /dev/null +++ b/cscope-5-contrib-ocs-Fix-bashims-Closes-480591.patch @@ -0,0 +1,77 @@ +From bb7f25fad3cade493486a6287f5212cdfb6cce24 Mon Sep 17 00:00:00 2001 +From: Jari Aalto <jari.aalto@cante.net> +Date: Sat, 8 May 2010 20:15:35 +0300 +Subject: [PATCH 6/9] contrib/ocs: Fix bashims (Closes: #480591) + +Signed-off-by: Jari Aalto <jari.aalto@cante.net> +Signed-off-by: Vladis Dronov <vdronov@redhat.com> +--- + contrib/ocs | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/contrib/ocs b/contrib/ocs +index e924f4f..bd556b4 100755 +--- a/contrib/ocs ++++ b/contrib/ocs +@@ -86,7 +86,7 @@ if [ ! -d ${SYSDIR} ]; then + fi + + # Check that cscope is in PATH +-type cscope 1>/dev/null 2>&1 ++which cscope 1>/dev/null 2>&1 + + if [ $? -ne 0 ] + then +@@ -167,8 +167,8 @@ create_list() + + if [ "${FORCE}" != "Y" ] + then +- echo "\n${LIST}" +- echo "Update the library? <(Y)es, (N)o, (Q)uit> [n] \c" ++ printf "\n${LIST}\n" ++ printf "Update the library? <(Y)es, (N)o, (Q)uit> [n] " + read x y + case $x in + [Yy]* ) ;; +@@ -176,9 +176,9 @@ create_list() + *) return ;; + esac + fi +- echo "Updating library:\n ${LIST} \c" ++ printf "Updating library:\n ${LIST} " + else +- echo "Creating library:\n ${LIST} \c" ++ printf "Creating library:\n ${LIST} " + fi + + ( +@@ -196,7 +196,7 @@ create_list() + -print + ) | grep -v SCCS | sort -u > ${LIST} + +- echo "\n`cat ${LIST} | wc -l` files listed" ++ printf "\n`cat ${LIST} | wc -l` files listed\n" + } + + # +@@ -210,7 +210,7 @@ exp_inc() + then + for i in `cat ${theInc}` + do +- echo "-I $i \c" ++ printf "-I $i " + done + fi + } +@@ -285,7 +285,7 @@ std_libs ${SYSDIR}$PWD + + DIR=$PWD + if [ ! -n "${NOUPDATE}" -o -n "${SPECDEST}" ] ; then +-echo "Create new library? <(L)ocal, (H)ome, (S)ystem, (Q)uit> [q] \c" ++ printf "Create new library? <(L)ocal, (H)ome, (S)ystem, (Q)uit> [q] " + + # shellcheck disable=SC2034 + read x y +-- +2.26.2 + diff --git a/cscope-6-doc-cscope.1-Fix-hyphens.patch b/cscope-6-doc-cscope.1-Fix-hyphens.patch new file mode 100644 index 0000000..290534d --- /dev/null +++ b/cscope-6-doc-cscope.1-Fix-hyphens.patch @@ -0,0 +1,130 @@ +From 3f9e3da40a77274705c9cb9103a6046daa950f5d Mon Sep 17 00:00:00 2001 +From: Jari Aalto <jari.aalto@cante.net> +Date: Sat, 8 May 2010 20:16:14 +0300 +Subject: [PATCH 7/9] doc/cscope.1: Fix hyphens + +Signed-off-by: Jari Aalto <jari.aalto@cante.net> +Signed-off-by: Vladis Dronov <vdronov@redhat.com> +--- + doc/cscope.1 | 33 ++++++++++++++++----------------- + 1 file changed, 16 insertions(+), 17 deletions(-) + +diff --git a/doc/cscope.1 b/doc/cscope.1 +index ca94e8b..0318347 100644 +--- a/doc/cscope.1 ++++ b/doc/cscope.1 +@@ -1,4 +1,3 @@ +-.PU + .TH CSCOPE "1" "January 2007" "The Santa Cruz Operation" + .SH NAME + cscope - interactively examine a C program +@@ -106,7 +105,7 @@ below. (The #include files + may be specified with either double quotes or angle brackets.) + The incdir directory is searched in addition to the current + directory (which is searched first) and the standard list +-(which is searched last). If more than one occurrence of -I ++(which is searched last). If more than one occurrence of \-I + appears, the directories are searched in the order they appear + on the command line. + .TP +@@ -129,7 +128,7 @@ source trees generally do not use it. + .TP + .B -L + Do a single search with line-oriented output when used with the +--num pattern option. ++\-num pattern option. + .TP + .B -l + Line-oriented interface (see ``Line-Oriented Interface'' +@@ -146,7 +145,7 @@ Prepend + .I path + to relative file names in a pre-built cross-reference file so you do + not have to change to the directory where the cross-reference file was +-built. This option is only valid with the -d option. ++built. This option is only valid with the \-d option. + .TP + .BI -p n + Display the last +@@ -195,7 +194,7 @@ Remove the cscope reference file and inverted indexes when exiting + .I files + A list of file names to operate on. + .PP +-The -I, -c, -k, -p, -q, and -T options can also be in the cscope.files file. ++The \-I, \-c, \-k, \-p, \-q, and \-T options can also be in the cscope.files file. + .PP + .SS Requesting the initial search + .PP +@@ -266,7 +265,7 @@ Append the displayed list of lines to a file. + .TP + .B < + Read lines from a file that is in symbol reference format +-(created by > or >>), just like the -F option. ++(created by > or >>), just like the \-F option. + .TP + .B ^ + Filter all lines through a shell command and display the +@@ -371,7 +370,7 @@ commands, respectively. + .PP + .SS Line-Oriented interface + .PP +-The -l option lets you use cscope where a screen-oriented interface ++The \-l option lets you use cscope where a screen-oriented interface + would not be useful, for example, from another screen-oriented + program. + .PP +@@ -380,10 +379,10 @@ with the field number (counting from 0) immediately followed by the + search pattern, for example, ``lmain'' finds the definition of the + main function. + .PP +-If you just want a single search, instead of the -l option use the -L +-and -num pattern options, and you won't get the >> prompt. ++If you just want a single search, instead of the \-l option use the \-L ++and \-num pattern options, and you won't get the >> prompt. + .PP +-For -l, cscope outputs the number of reference lines ++For \-l, cscope outputs the number of reference lines + cscope: 2 lines + .PP + For each reference found, cscope outputs a line consisting of the file +@@ -468,11 +467,11 @@ is not set, cscope searches only in the current directory. + .SH FILES + .TP + .B cscope.files +-Default files containing -I, -p, -q, and -T options and the +-list of source files (overridden by the -i option). ++Default files containing \-I, \-p, \-q, and \-T options and the ++list of source files (overridden by the \-i option). + .TP + .B cscope.out +-Symbol cross-reference file (overridden by the -f option), ++Symbol cross-reference file (overridden by the \-f option), + which is put in the home directory if it cannot be created in + the current directory. + .TP +@@ -482,11 +481,11 @@ the current directory. + .B cscope.po.out + .PD 1 + Default files containing the inverted index used for quick +-symbol searching (-q option). If you use the -f option to ++symbol searching (\-q option). If you use the \-f option to + rename the cross-reference file (so it's not cscope.out), the + names for these inverted index files will be created by adding +- .in and .po to the name you supply with -f. For example, if you +-indicated -f xyz, then these files would be named xyz.in and ++ .in and .po to the name you supply with \-f. For example, if you ++indicated \-f xyz, then these files would be named xyz.in and + xyz.po. + .TP + .B INCDIR +@@ -554,7 +553,7 @@ definition, for example, + .PP + char flag + #ifdef ALLOCATE_STORAGE +- = -1 ++ = \-1 + #endif + ; + .PP +-- +2.26.2 + diff --git a/cscope-7-fscanner-swallow-function-as-parameters.patch b/cscope-7-fscanner-swallow-function-as-parameters.patch new file mode 100644 index 0000000..a089a61 --- /dev/null +++ b/cscope-7-fscanner-swallow-function-as-parameters.patch @@ -0,0 +1,43 @@ +From e1b4cbc93529b07b3217928e8f9b1f43b80f9b06 Mon Sep 17 00:00:00 2001 +From: Jiri Slaby <jslaby@suse.cz> +Date: Fri, 5 Dec 2014 19:15:53 +0100 +Subject: [PATCH 8/9] fscanner: swallow function as parameters +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Some functions take as a parameter a pointer to another function. This +causes troubles in the cscope scanner and such function definition is +dropped on the floor. + +Instead of choking and skipping the definition/declaration, teach the +scanner about this case. So now cscope will not skip those and put +them properly in the index. + +I carry this patch for a couple of months and using cscope daily on +the Linux kernel and see no problems. + +Signed-off-by: Jiri Slaby <jslaby@suse.cz> +Cc: Hans-Bernhard Bröker <broeker@users.sourceforge.net> +Cc: Neil Horman <nhorman@users.sourceforge.net> +Signed-off-by: Vladis Dronov <vdronov@redhat.com> +--- + src/fscanner.l | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/fscanner.l b/src/fscanner.l +index 8a93192..43880bf 100644 +--- a/src/fscanner.l ++++ b/src/fscanner.l +@@ -505,7 +505,7 @@ if{wsnl}*\( { /* ignore 'if' */ + } + + <WAS_IDENTIFIER>{ +-{ws}*\(({wsnl}|{identifier}|{number}|[*&[\]=,.:])*\)([()]|{wsnl})*[:a-zA-Z_#{] { ++{ws}*\(({wsnl}|{identifier}|\({ws}*\*{ws}*{identifier}{ws}*\){ws}*\([^()]*\)|{number}|[*&[\]=,.:])*\)([()]|{wsnl})*[:a-zA-Z_#{] { + /* a function definition */ + /* note: "#define a (b) {" and "#if defined(a)\n#" + * are not fcn definitions! */ +-- +2.26.2 + diff --git a/cscope-8-emacs-plugin-fixup-GNU-Emacs-27.1-removes-function-p.patch b/cscope-8-emacs-plugin-fixup-GNU-Emacs-27.1-removes-function-p.patch new file mode 100644 index 0000000..2f32cef --- /dev/null +++ b/cscope-8-emacs-plugin-fixup-GNU-Emacs-27.1-removes-function-p.patch @@ -0,0 +1,81 @@ +From eaea31cb93ecddda69a373f83f632e1a450c3c90 Mon Sep 17 00:00:00 2001 +From: Brock Zheng Techyauld Ltd <yzheng@techyauld.com> +Date: Tue, 25 Aug 2020 20:28:11 +0800 +Subject: [PATCH 9/9] emacs plugin fixup: GNU/Emacs 27.1 removes function + process-kill-without-query + +Signed-off-by: Vladis Dronov <vdronov@redhat.com> +--- + contrib/xcscope/xcscope.el | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/contrib/xcscope/xcscope.el b/contrib/xcscope/xcscope.el +index 0e814ea..859dff5 100644 +--- a/contrib/xcscope/xcscope.el ++++ b/contrib/xcscope/xcscope.el +@@ -180,7 +180,7 @@ + ;; variable is used to determine the mapping. One use for this + ;; variable is when you want to share the database file with other + ;; users; in this case, the database may be located in a directory +-;; separate from the source files. ++;; separate from the source files. + ;; + ;; Setting the variable, `cscope-initial-directory', is useful when a + ;; search is to be expanded by specifying a cscope database directory +@@ -366,7 +366,7 @@ + ;; disable automatic database creation, updating, and + ;; maintenance. + ;; +-;; "cscope-display-cscope-buffer" ++;; "cscope-display-cscope-buffer" + ;; If non-nil, display the *cscope* buffer after each search + ;; (default). This variable can be set in order to reduce the + ;; number of keystrokes required to navigate through the matches. +@@ -1233,7 +1233,7 @@ directory should begin.") + :style toggle :selected cscope-use-relative-paths ] + [ "No mouse prompts" (setq cscope-no-mouse-prompts + (not cscope-no-mouse-prompts)) +- :style toggle :selected cscope-no-mouse-prompts ] ++ :style toggle :selected cscope-no-mouse-prompts ] + ) + )) + +@@ -1291,7 +1291,7 @@ The text properties to be added: + ) + + +-(defun cscope-show-entry-internal (file line-number ++(defun cscope-show-entry-internal (file line-number + &optional save-mark-p window arrow-p) + "Display the buffer corresponding to FILE and LINE-NUMBER + in some window. If optional argument WINDOW is given, +@@ -1943,7 +1943,7 @@ using the mouse." + cscope-directory + (file-name-directory cscope-directory)) + )) +- (setq cscope-directory ++ (setq cscope-directory + (file-name-as-directory cscope-directory)) + (if (not (member cscope-directory cscope-searched-dirs)) + (progn +@@ -2006,7 +2006,7 @@ using the mouse." + (set-process-filter cscope-process cscope-filter-func) + (set-process-sentinel cscope-process cscope-sentinel-func) + (set-marker (process-mark cscope-process) (point)) +- (process-kill-without-query cscope-process) ++ (set-process-query-on-exit-flag cscope-process nil) + (if cscope-running-in-xemacs + (setq modeline-process ": Searching ...")) + (setq buffer-read-only t) +@@ -2139,7 +2139,7 @@ SENTINEL-FUNC are optional process filter and sentinel, respectively." + cscope-indexing-script args)) + (set-process-sentinel cscope-unix-index-process + 'cscope-unix-index-files-sentinel) +- (process-kill-without-query cscope-unix-index-process) ++ (set-process-query-on-exit-flag cscope-unix-index-process nil) + ) + )) + +-- +2.26.2 + diff --git a/cscope-dblfree.patch b/cscope-dblfree.patch deleted file mode 100644 index d300d04..0000000 --- a/cscope-dblfree.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up ./src/command.c.dblfree ./src/command.c ---- ./src/command.c.dblfree 2019-04-11 07:08:24.358253603 -0400 -+++ ./src/command.c 2019-04-11 07:08:43.955193615 -0400 -@@ -803,7 +803,6 @@ changestring(void) - } - changing = NO; - mousemenu(); -- fclose(script); - free(change); - return(anymarked); - } diff --git a/cscope-invindex-sizing.patch b/cscope-invindex-sizing.patch deleted file mode 100644 index b84aed2..0000000 --- a/cscope-invindex-sizing.patch +++ /dev/null @@ -1,45 +0,0 @@ -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); diff --git a/cscope.spec b/cscope.spec index 8723c3a..3a8502c 100644 --- a/cscope.spec +++ b/cscope.spec @@ -1,11 +1,11 @@ Summary: C source code tree search and browse tool Name: cscope Version: 15.9 -Release: 9%{?dist} -Source0: https://downloads.sourceforge.net/project/%{name}/%{name}/%{version}/%{name}-%{version}.tar.gz +Release: 10%{?dist} +Source0: https://downloads.sourceforge.net/project/%{name}/%{name}/v%{version}/%{name}-%{version}.tar.gz URL: http://cscope.sourceforge.net License: BSD and GPLv2+ -BuildRequires: gcc +BuildRequires: gcc BuildRequires: pkgconfig ncurses-devel flex bison m4 BuildRequires: autoconf automake BuildRequires: make @@ -15,7 +15,14 @@ Requires: ed Requires: xemacs-filesystem %endif -Patch1: cscope-dblfree.patch +Patch1: cscope-1-modified-from-patch-81-Fix-reading-include-files-in-.patch +Patch2: cscope-2-Cull-extraneous-declaration.patch +Patch3: cscope-3-Avoid-putting-directories-found-during-header-search.patch +Patch4: cscope-4-Avoid-double-free-via-double-fclose-in-changestring.patch +Patch5: cscope-5-contrib-ocs-Fix-bashims-Closes-480591.patch +Patch6: cscope-6-doc-cscope.1-Fix-hyphens.patch +Patch7: cscope-7-fscanner-swallow-function-as-parameters.patch +Patch8: cscope-8-emacs-plugin-fixup-GNU-Emacs-27.1-removes-function-p.patch %define cscope_share_path %{_datadir}/cscope %define xemacs_lisp_path %{_datadir}/xemacs/site-packages/lisp @@ -33,6 +40,13 @@ matches for use in file editing. %prep %setup -q %patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 autoreconf @@ -91,6 +105,11 @@ rm -f %{emacs_lisp_path}/xcscope.el rm -f %{vim_plugin_path}/cctree.vim %changelog +* Tue Mar 16 2021 Vladis Dronov <vdronov@redhat.com> - 15.9-10 +- Bring in important patches from the upstream (39fb38..eaea31 in a git repo) +- Fix the upstream tarball URL +- Remove outdated patch files + * Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 15.9-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/sources b/sources index 007e52a..bd5c1f2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cscope-15.9.tar.gz) = 2cb84a85b03973cda8e9462b4b209495eb6c41e3f5fcfe7cf8605d8ac8875c5062e02d0da27ef7035388c5ebc3082e6ebd78590d305ff752cbe4276059dad81a +SHA512 (cscope-15.9.tar.gz) = f3b95da5eb5c036cd39215785990c7cce7ce7b8eda4b18e60792e70d01ffb63809ce32ace310a9aefd88e6761c1609039ccfab0e8e49f81730bc1630babbcb80