On 09/22/2015 05:47 PM, Pádraig Brady wrote: > On 22/09/15 23:28, Dave Chiluk wrote: >> The patch I just sent out broke existing behavior on non-linux again. >> I'm really beginning to hate that if statement. Anyhow, I fixed that, >> and changed it around for readability. > > > bool target_nearer_device_root = ! (devlist->me->me_mntroot != NULL > && me->me_mntroot != NULL > && (strlen (devlist->me->me_mntroot) > < strlen(me->me_mntroot))); > > While this is logically correct it's confusing > as mntroot is related to the source, not the target. > Also the >= implicit in the !< conflicts with "nearer", > where "as_near_or_nearer" would be more accurate. > That's why I kept the ! outside of the boolean. > > I'll go with my orig naming unless there are major objections. > > thanks, > Pádraig. >
I was reading target as referring to the current me that is being iterated on. I still don't like the variable "source_below_root". This implies to me that the source filesystem dir is below the root (i.e. "/") of the filesystem, which obviously would not be possible. How about "longer_mntroot" or "source_longer_mntroot". That way the later logic reads "target_nearer_root && ! source_longer_mntroot" It's more explicit, and implies which variable within the mount_entry that we care about. I think at this point we're really just splitting hairs. Dave.
