From ed664fa4ea5bdee8952dbcdf614b87303b8f67a1 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 4 Jul 2006 05:59:05 +0000 Subject: [PATCH] * cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this macro is used before the first cycle_check call. --- lib/ChangeLog | 5 +++++ lib/cycle-check.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/lib/ChangeLog b/lib/ChangeLog index 1fcee2afcb..244118bbf2 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,8 @@ +2006-07-03 Jim Meyering + + * cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this + macro is used before the first cycle_check call. + 2006-07-03 Paul Eggert * stdint_.h: Include after @FULL_PATH_STDINT_H@, for diff --git a/lib/cycle-check.h b/lib/cycle-check.h index b137a60a85..927f3e51f6 100644 --- a/lib/cycle-check.h +++ b/lib/cycle-check.h @@ -45,6 +45,9 @@ bool cycle_check (struct cycle_check_state *state, struct stat const *sb); # define CYCLE_CHECK_REFLECT_CHDIR_UP(State, SB_dir, SB_subdir) \ do \ { \ + /* You must call cycle_check at least once before using this macro. */ \ + if ((State)->chdir_counter == 0) \ + abort (); \ if (SAME_INODE ((State)->dev_ino, SB_subdir)) \ { \ (State)->dev_ino.st_dev = (SB_dir).st_dev; \ -- 2.30.2