To fix this problem we need to set the time stamps as a bit field of OFFSITE_BIT and LOCAL_BIT so they indicate in files which file is newer. If both have the same age no bits are set. In directories, it is of more importance to us the time stamps of the files contained therein rather than the time stamps of the directories themselves. So we can define the directory's time stamp value as the bitwise or of all of its children's time stamp values. We can use some other value to indicate we don't know. The value, -1 is a value we often use for this. However, using this value in an or_bits expression will give #FFFF_FFFF as a result.