/* same.c:
*
****************************************************************
* Copyright (C) 2003 Tom Lord
*
* See the file "COPYING" for further information about
* the copyright and warranty status of this work.
*/
#include "hackerlab/vu/vu.h"
#include "libfsutils/same.h"
/*(c names_same_inode)
* int names_same_inode (t_uchar * a, t_uchar * b);
*
* Return non-0 iff A and B are paths naming the
* same inode.
*/
int
names_same_inode (t_uchar const * const a, t_uchar const * const b)
{
int errn;
struct stat a_stat;
struct stat b_stat;
if (vu_stat (&errn, (t_uchar *) a, &a_stat))
return 0;
if (vu_stat (&errn, (t_uchar *) b, &b_stat))
return 0;
return ((a_stat.st_ino == b_stat.st_ino) && (a_stat.st_dev == b_stat.st_dev));
}
/*(c on_same_device)
* int on_same_device (t_uchar * a, t_uchar * b);
*
* Return non-0 iff A and B are paths naming existing
* files (of any kind) on the same device.
*/
int
on_same_device (t_uchar const * const a, t_uchar const * const b)
{
int errn;
struct stat a_stat;
struct stat b_stat;
if (vu_stat (&errn, (t_uchar *)a, &a_stat))
return 0;
if (vu_stat (&errn, (t_uchar *)b, &b_stat))
return 0;
return (a_stat.st_dev == b_stat.st_dev);
}
/* tag: Tom Lord Fri Dec 5 13:48:29 2003 (same.c)
*/
syntax highlighted by Code2HTML, v. 0.9.1