From: Paul Eggert Date: Tue, 4 Jul 2006 05:59:05 +0000 (+0000) Subject: * cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this X-Git-Tag: cvs-readonly~2271 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=ed664fa4ea5bdee8952dbcdf614b87303b8f67a1;p=gnulib.git * cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this macro is used before the first cycle_check call. --- diff --git a/lib/ChangeLog b/lib/ChangeLog index 1fcee2afc..244118bbf 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 b137a60a8..927f3e51f 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; \