From 31119705ef02cb87f8245760eae34e70daf25b73 Mon Sep 17 00:00:00 2001 From: Neil Horman Date: Tue, 8 Jul 2008 15:58:45 +0000 Subject: [PATCH] Resolves: bz 436648 --- cscope-15.6-qrebuild.patch | 40 ++++++++++++++++++++++++++++++++++++++ cscope.spec | 7 ++++++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 cscope-15.6-qrebuild.patch diff --git a/cscope-15.6-qrebuild.patch b/cscope-15.6-qrebuild.patch new file mode 100644 index 0000000..1900709 --- /dev/null +++ b/cscope-15.6-qrebuild.patch @@ -0,0 +1,40 @@ +diff -up cscope-15.6/src/build.c.orig cscope-15.6/src/build.c +--- cscope-15.6/src/build.c.orig 2006-09-30 04:13:00.000000000 -0400 ++++ cscope-15.6/src/build.c 2008-07-08 11:28:53.000000000 -0400 +@@ -124,7 +124,7 @@ samelist(FILE *oldrefs, char **names, in + } + /* see if the name list is the same */ + for (i = 0; i < count; ++i) { +- if (! fgets(oldname, sizeof(oldname), oldrefs)|| ++ if ((1 != fscanf(oldrefs," %[^\n]",oldname)) || + strnotequal(oldname, names[i])) { + return(NO); + } +@@ -305,10 +305,11 @@ cscope: -q option mismatch between comma + /* 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 (! fgets(oldname, sizeof(oldname), oldrefs) || +- strnotequal(oldname, srcfiles[i]) || +- lstat(srcfiles[i], &statstruct) != 0 || +- statstruct.st_mtime > reftime) { ++ if ((1 != fscanf(oldrefs," %[^\n]",oldname)) ++ || strnotequal(oldname, srcfiles[i]) ++ || (lstat(srcfiles[i], &statstruct) != 0) ++ || (statstruct.st_mtime > reftime) ++ ) { + goto outofdate; + } + } +@@ -338,8 +339,9 @@ cscope: converting to new symbol databas + scanpast('\t'); /* skip the header */ + oldfile = getoldfile(); + } else { /* force cross-referencing of all the source files */ +- force: reftime = 0; +- oldfile = NULL; ++ force: ++ reftime = 0; ++ oldfile = NULL; + } + /* open the new cross-reference file */ + if ((newrefs = myfopen(newreffile, "wb")) == NULL) { diff --git a/cscope.spec b/cscope.spec index 21a0d81..3d6f251 100644 --- a/cscope.spec +++ b/cscope.spec @@ -1,7 +1,7 @@ Summary: C source code tree search and browse tool Name: cscope Version: 15.6 -Release: 1%{?dist} +Release: 2%{?dist} Source0: http://unc.dl.sourceforge.net/sourceforge/cscope/cscope-15.6.tar.gz URL: http://cscope.sourceforge.net License: BSD @@ -17,6 +17,7 @@ Patch0:cscope-15.6-findassign.patch Patch1:cscope-15.6-ocs.patch Patch2:cscope-15.6-xcscope-man.patch Patch3:cscope-15.6-sigwinch-linemode.patch +Patch4:cscope-15.6-qrebuild.patch %description cscope is a mature, ncurses based, C source code tree browsing tool. It @@ -31,6 +32,7 @@ matches for use in file editing. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %build %configure @@ -79,6 +81,9 @@ rm -f %{xemacs_lisp_path}/xcscope.el rm -f %{emacs_lisp_path}/xcscope.el %changelog +* Tue Jul 08 2008 Neil Horman -15.6-2.dist +- Grab upstream patch for -q rebuld (bz 436648) + * Fri Mar 25 2007 Neil Horman -15.6-1.dist - Rebase to version 15.6