$NetBSD: patch-ae,v 1.9 2008/05/24 07:24:59 tonio Exp $ --- mpeg3io.c.orig 2005-05-01 07:57:56.000000000 +0200 +++ mpeg3io.c 2008-02-19 19:25:09.000000000 +0100 @@ -1,11 +1,29 @@ #include "mpeg3private.h" #include "mpeg3protos.h" -#include #include #include #include -#include + +#if defined(__NetBSD__) || defined(__DragonFly__) || (defined(__APPLE__) && defined(__MACH__)) +# include +# include + +# if (defined(__NetBSD__) && __NetBSD_Version__ >= 299000900 /* 2.99.9 */) || (defined(__APPLE__) && defined(__MACH__) && !defined(__DARWIN_STRUCT_STAT64) /* MacOSX < 10.5 */) +# define fopen64 fopen +# define fseeko64 fseek +# define stat64 stat +# endif +# if defined(__NetBSD__) && __NetBSD_Version__ >= 299000900 /* 2.99.9 */ +# define statfs statvfs +# endif + +# include +# include +#else +# include +# include +#endif mpeg3_fs_t* mpeg3_new_fs(char *path) { @@ -215,16 +231,26 @@ int mpeg3io_device(char *path, char *device) { +#if defined(__NetBSD__) || defined(__DragonFly__) || (defined(__APPLE__) && defined(__MACH__)) + struct statfs file_st; + + if (statfs(path, &file_st) < 0) +#else + struct stat64 file_st, device_st; struct mntent *mnt; FILE *fp; if(stat64(path, &file_st) < 0) +#endif { perror("mpeg3io_device"); return 1; } +#if defined(__NetBSD__) || defined(__DragonFly__) || (defined(__APPLE__) && defined(__MACH__)) + strncpy(device, file_st.f_mntfromname, MPEG3_STRLEN); +#else fp = setmntent(MOUNTED, "r"); while(fp && (mnt = getmntent(fp))) { @@ -236,6 +262,7 @@ } } endmntent(fp); +#endif return 0; }