X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fsame.c;h=e267ba4442435525a83b90437ec4a1a665d11119;hb=d4304bfbaa7372892056b7c35455c9e35eeaced0;hp=4854b3a9790b231bc3454a4fdf13857cdbf2acb1;hpb=7c3f8da8f075e3813ced160d5b53a28c6f7dfe78;p=gnulib.git diff --git a/lib/same.c b/lib/same.c index 4854b3a97..e267ba444 100644 --- a/lib/same.c +++ b/lib/same.c @@ -1,6 +1,6 @@ /* Determine whether two file names refer to the same file. - Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005 Free + Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -42,16 +42,13 @@ #include "same.h" #include "dirname.h" #include "error.h" +#include "same-inode.h" #include "xalloc.h" #ifndef MIN # define MIN(a, b) ((a) < (b) ? (a) : (b)) #endif -#define SAME_INODE(Stat_buf_1, Stat_buf_2) \ - ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \ - && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev) - /* Return nonzero if SOURCE and DEST point to the same name in the same directory. */ @@ -59,8 +56,8 @@ bool same_name (const char *source, const char *dest) { /* Compare the basenames. */ - char const *source_basename = base_name (source); - char const *dest_basename = base_name (dest); + char const *source_basename = last_component (source); + char const *dest_basename = last_component (dest); size_t source_baselen = base_len (source_basename); size_t dest_baselen = base_len (dest_basename); bool identical_basenames =