summaryrefslogtreecommitdiff
blob: 263e06a000c4db95cf42017bfe473e87dfaf8d6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Index: src/librc/librc-depend.c
===================================================================
--- src/librc/librc-depend.c	(Revision 1497)
+++ src/librc/librc-depend.c	(Revision 1498)
@@ -565,27 +565,31 @@
 		return true;
 
 	if (newer) {
-		if (mtime < buf.st_mtime)
+		if (mtime < buf.st_mtime) {
+			if (rel == NULL)
+				return false;
 			retval = false;
+		}
 		if (rel != NULL) {
 			if (*rel < buf.st_mtime) {
 				if (file)
 					strlcpy(file, target, PATH_MAX);
 				*rel = buf.st_mtime;
 			}
-		} else
-			return retval;
+		}
 	} else {
-		if (mtime > buf.st_mtime)
+		if (mtime > buf.st_mtime) {
+			if (rel == NULL)
+				return false;
 			retval = false;
+		}
 		if (rel != NULL) {
 			if (*rel > buf.st_mtime) {
 				if (file)
 					strlcpy(file, target, PATH_MAX);
 				*rel = buf.st_mtime;
 			}
-		} else
-			return retval;
+		}
 	}
 
 	/* If not a dir then reset errno */