summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2006-02-01 13:31:25 +0000
committerPaul Smith <psmith@gnu.org>2006-02-01 13:31:25 +0000
commit7a8549f5dd339eec9cb57c8cfe11cf71b77759d2 (patch)
treefe73ff04cfcc6ad9a67282b8d7b76a41aff39417
parent4cd35390242bc3e7720dd9831e4bd03e55c636e2 (diff)
downloadgunmake-7a8549f5dd339eec9cb57c8cfe11cf71b77759d2.tar.gz
Fix a bug where a variable could be used without being initialized in W32.
-rw-r--r--ChangeLog6
-rw-r--r--dir.c12
2 files changed, 12 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 5eaa94d..d31150a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-02-01 Paul D. Smith <psmith@gnu.org>
+
+ * dir.c (dir_contents_file_exists_p) [WINDOWS32]: Make sure
+ variable st is not used when it's not initialized.
+ Patch from Eli Zaretskii <eliz@gnu.org>.
+
2006-01-31 Paul D. Smith <psmith@gnu.org>
* README.W32.template: Applied patch #4785 from
diff --git a/dir.c b/dir.c
index c1db659..f6a03bd 100644
--- a/dir.c
+++ b/dir.c
@@ -630,13 +630,13 @@ dir_contents_file_exists_p (struct directory_contents *dir, char *filename)
* filesystems force a rehash always as mtime does not change
* on directories (ugh!).
*/
- if (dir->path_key
- && (dir->fs_flags & FS_FAT
- || (stat(dir->path_key, &st) == 0
- && st.st_mtime > dir->mtime)))
+ if (dir->path_key)
{
- /* reset date stamp to show most recent re-process */
- dir->mtime = st.st_mtime;
+ if (!(dir->fs_flags & FS_FAT)
+ && (stat(dir->path_key, &st) == 0
+ && st.st_mtime > dir->mtime))
+ /* reset date stamp to show most recent re-process */
+ dir->mtime = st.st_mtime;
/* make sure directory can still be opened */
dir->dirstream = opendir(dir->path_key);