libaacs | branch: refs/tags/0.3.0 | npzacs <[email protected]> | Fri Oct 28 
15:23:23 2011 +0300| [fdf56a29a7b291ac1c64d3e727ef1cb0e464725d] | committer: 
npzacs

Resolve symbolic links from path
(device can't be resolved without real mount point)

> http://git.videolan.org/gitweb.cgi/libaacs.git/?a=commit;h=fdf56a29a7b291ac1c64d3e727ef1cb0e464725d
---

 configure.ac      |    2 ++
 src/libaacs/mmc.c |    5 +++++
 2 files changed, 7 insertions(+)

diff --git a/configure.ac b/configure.ac
index e36e267..fbbf17d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -82,6 +82,8 @@ AC_SYS_LARGEFILE
 # required functions
 AC_CHECK_FUNC([snprintf],, [AC_MSG_ERROR($function_not_found)])
 
+AC_CHECK_FUNC([realpath],[AC_DEFINE([HAVE_REALPATH],[1],[realpath])])
+
 # pthread check (not on win32)
 if test "${SYS}" != "mingw32" ; then
   AC_CHECK_HEADERS([pthread.h])
diff --git a/src/libaacs/mmc.c b/src/libaacs/mmc.c
index 213f689..004db1c 100644
--- a/src/libaacs/mmc.c
+++ b/src/libaacs/mmc.c
@@ -388,8 +388,13 @@ MMC *mmc_open(const char *path, const uint8_t 
*host_priv_key,
 
 #if defined(HAVE_MNTENT_H)
 
+#if HAVE_REALPATH
+    char *file_path = realpath(path, NULL);
+#else
     char *file_path = (char*)malloc(strlen(path) + 1);
     strcpy(file_path, path);
+#endif
+
     int   path_len  = strlen(file_path);
     FILE *proc_mounts;
 

_______________________________________________
libaacs-devel mailing list
[email protected]
http://mailman.videolan.org/listinfo/libaacs-devel

Reply via email to