diff options
author | Maxim Sobolev <sobomax@FreeBSD.org> | 2001-01-04 20:43:27 +0000 |
---|---|---|
committer | Maxim Sobolev <sobomax@FreeBSD.org> | 2001-01-04 20:43:27 +0000 |
commit | 7a802c67ff48a417d57e340ecb87143b5442888a (patch) | |
tree | 2571d138dfe94d8ca240386933cde3e88dc05550 /multimedia/xmms/files | |
parent | 83392e9b5b79363b11201dd94b1065c621b6c3c0 (diff) | |
download | ports-7a802c67ff48a417d57e340ecb87143b5442888a.tar.gz ports-7a802c67ff48a417d57e340ecb87143b5442888a.zip |
Fix the following problem:
"XMMS does not distinguish on FreeBSD between audio CD and data CD
containing sound files. As a result it cannot play these files."
PR: 23925
Submitted by: Vladimir Kushnir <vkushnir@Alfacom.net>
Reviewed by: maintainer
Notes
Notes:
svn path=/head/; revision=36794
Diffstat (limited to 'multimedia/xmms/files')
-rw-r--r-- | multimedia/xmms/files/patch-ba | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/multimedia/xmms/files/patch-ba b/multimedia/xmms/files/patch-ba new file mode 100644 index 000000000000..0a38064365f6 --- /dev/null +++ b/multimedia/xmms/files/patch-ba @@ -0,0 +1,81 @@ +*** /usr/local/src/CVS/MM/xmms/xmms/Input/cdaudio/cdaudio.c Wed Aug 2 02:15:13 2000 +--- Input/cdaudio/cdaudio.c Tue Sep 5 12:46:29 2000 +*************** +*** 183,194 **** + + static gboolean is_mounted(gchar * device_name) + { +! #ifdef HAVE_MNTENT_H +! FILE *mounts; +! struct mntent *mnt; + char devname[256]; + struct stat st; +! + if (lstat(device_name, &st) < 0) + return -1; + +--- 183,199 ---- + + static gboolean is_mounted(gchar * device_name) + { +! #if defined (HAVE_MNTENT_H) || defined (__FreeBSD__) + char devname[256]; + struct stat st; +! #if defined (HAVE_MNTENT_H) +! FILE *mounts; +! struct mntent *mnt; +! #elif defined (__FreeBSD__) +! struct statfs *fsp; +! int entries; +! #endif +! + if (lstat(device_name, &st) < 0) + return -1; + +*************** +*** 197,202 **** +--- 202,208 ---- + else + strncpy(devname, device_name, 256); + ++ #if defined (HAVE_MNTENT_H) + if ((mounts = setmntent(MOUNTED, "r")) == NULL) + return TRUE; + +*************** +*** 209,214 **** +--- 215,231 ---- + } + } + endmntent(mounts); ++ #elif defined (__FreeBSD__) ++ entries = getmntinfo (&fsp, MNT_NOWAIT); ++ if (entries < 0) ++ return NULL; ++ ++ while (entries-- > 0) { ++ if (!strcmp(fsp->f_mntfromname, devname)) ++ return TRUE; ++ fsp++; ++ } ++ #endif + #endif + return FALSE; + } +*** /usr/local/src/CVS/MM/xmms/xmms/Input/cdaudio/cdaudio.h Thu Jun 15 00:51:44 2000 +--- Input/cdaudio/cdaudio.h Tue Sep 5 13:49:37 2000 +*************** +*** 46,51 **** +--- 46,57 ---- + #include <mntent.h> + #endif + ++ #ifdef __FreeBSD__ ++ #include <sys/param.h> ++ #include <sys/ucred.h> ++ #include <sys/mount.h> ++ #endif ++ + #ifndef CD_FRAMES + #define CD_FRAMES 75 + #endif |