mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -04:00
- Fix detecting of device types
Currently, this patch handles all devfs cases (it uses realpath to resolve symlinks). However, submitter supposes, that we should have a generic way to detect which device the file belongs to. I'll leave the PR in suspended state for a better solution come up. PR: ports/101450 Reported by: Chad Fraleigh <chadf@bookcase.com> Approved by: multimedia (ahze)
This commit is contained in:
parent
89ce09fad3
commit
b742c8c26d
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=181329
2 changed files with 44 additions and 1 deletions
|
@ -7,7 +7,7 @@
|
|||
|
||||
PORTNAME= transcode
|
||||
PORTVERSION= 1.0.2
|
||||
PORTREVISION= 4
|
||||
PORTREVISION= 5
|
||||
CATEGORIES= multimedia
|
||||
MASTER_SITES= http://dl.fkb.wormulon.net/transcode/ \
|
||||
http://dl.kel.wormulon.net/transcode/ \
|
||||
|
|
43
multimedia/transcode/files/patch-import_ioaux.c
Normal file
43
multimedia/transcode/files/patch-import_ioaux.c
Normal file
|
@ -0,0 +1,43 @@
|
|||
--- import/ioaux.c.orig Mon Jul 4 11:09:33 2005
|
||||
+++ import/ioaux.c Wed Jan 3 02:44:37 2007
|
||||
@@ -261,6 +261,25 @@
|
||||
/* char device could be several things, depending on system */
|
||||
/* *BSD DVD device? v4l? bktr? sunau? */
|
||||
if(S_ISCHR(fbuf.st_mode)) {
|
||||
+# ifdef __FreeBSD__
|
||||
+ char rpath[PATH_MAX], *prpath;
|
||||
+
|
||||
+ prpath = realpath(name, &rpath);
|
||||
+ if (prpath == NULL) {
|
||||
+ warn("realpath(%s)", name);
|
||||
+ return TC_PROBE_PATH_ABSPATH;
|
||||
+ }
|
||||
+
|
||||
+ if (strstr(rpath, "bktr") != NULL || strstr(rpath, "tuner") || \
|
||||
+ strstr(rpath, "vbi"))
|
||||
+ return(TC_PROBE_PATH_BKTR);
|
||||
+ else if (strstr(rpath, "dsp") || strstr(rpath, "audio") || \
|
||||
+ strstr(rpath, "music"))
|
||||
+ return(TC_PROBE_PATH_OSS);
|
||||
+ else
|
||||
+ return(TC_PROBE_PATH_ABSPATH);
|
||||
+# endif
|
||||
+
|
||||
switch (major(fbuf.st_rdev)) {
|
||||
#ifdef SYS_BSD
|
||||
# ifdef __OpenBSD__
|
||||
@@ -270,14 +289,6 @@
|
||||
return(TC_PROBE_PATH_SUNAU);
|
||||
case 49: /* bktr */
|
||||
return(TC_PROBE_PATH_BKTR);
|
||||
-# endif
|
||||
-# ifdef __FreeBSD__
|
||||
- case 4: /* acd */
|
||||
- return(TC_PROBE_PATH_ABSPATH);
|
||||
- case 229: /* bktr */
|
||||
- return(TC_PROBE_PATH_BKTR);
|
||||
- case 0: /* OSS */
|
||||
- return(TC_PROBE_PATH_OSS);
|
||||
# endif
|
||||
default: /* libdvdread uses "raw" disk devices here */
|
||||
return(TC_PROBE_PATH_ABSPATH);
|
Loading…
Add table
Reference in a new issue