$NetBSD: patch-ae,v 1.1 2004/06/26 18:00:21 grant Exp $ --- mpeg3io.c.orig 2001-05-20 13:05:26.000000000 +1000 +++ mpeg3io.c 2004-05-04 23:48:36.000000000 +1000 @@ -1,11 +1,17 @@ #include "mpeg3private.h" #include "mpeg3protos.h" -#include -#include +#include +#include #include #include +#ifdef __NetBSD__ +# if __NetBSD_Version__ >= 200040000 /* 2.0D */ +# define statfs statvfs +# endif +#endif + mpeg3_fs_t* mpeg3_new_fs(char *path) { mpeg3_fs_t *fs = calloc(1, sizeof(mpeg3_fs_t)); @@ -88,27 +94,15 @@ int mpeg3io_device(char *path, char *device) { - struct stat file_st, device_st; - struct mntent *mnt; - FILE *fp; + struct statfs file_st; - if(stat(path, &file_st) < 0) + if(statfs(path, &file_st) < 0) { perror("mpeg3io_device"); return 1; } - fp = setmntent(MOUNTED, "r"); - while(fp && (mnt = getmntent(fp))) - { - if(stat(mnt->mnt_fsname, &device_st) < 0) continue; - if(device_st.st_rdev == file_st.st_dev) - { - strncpy(device, mnt->mnt_fsname, MPEG3_STRLEN); - break; - } - } - endmntent(fp); + strncpy(device, file_st.f_mntfromname, MPEG3_STRLEN); return 0; }