changeset 1091:b6e7d5ce18a2

Previous patch (revision 1185) for the comments-related segfault was incomplete, and as such, it broke keywords in files whose metadata had keywords but no comments. This patch fixes that (and still fixes the case where one searches on comments and hits a file with keywords but no comments). Lastly, I would imagine that there exists a failure mode where one searches for a keyword and hits a file with a comment but no keyword, and I imagine this patch should fix that case as well. Patch by Omari Stephens (aka xsdg).
author zas_
date Thu, 06 Nov 2008 20:01:32 +0000
parents 6ca88a8380d4
children 7d868e0c39cd
files src/bar_info.c
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/bar_info.c	Tue Nov 04 17:26:46 2008 +0000
+++ b/src/bar_info.c	Thu Nov 06 20:01:32 2008 +0000
@@ -463,8 +463,13 @@
 	if (res1 && (!comment || *comment != comment1)) g_free(comment1);
 	if (res2 && (!comment || *comment != comment2)) g_free(comment2);
 	
-	// return FALSE on failure
-	if (comment && !*comment)
+	// return FALSE in the following cases:
+	//  - only looking for a comment and didn't find one
+	//  - only looking for keywords and didn't find any
+	//  - looking for either a comment or keywords, but found nothing
+	if ((!keywords && comment   && !*comment)  ||
+	    (!comment  && keywords  && !*keywords) ||
+	    ( comment  && !*comment &&   keywords && !*keywords))
 		return FALSE;
 
 	return TRUE;