hc
2023-11-20 2e7bd41e4e8ab3d1efdabd9e263a2f7fe79bff8c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
From 6b043b9b676e88a80e3d4013863c5e970fdde1df Mon Sep 17 00:00:00 2001
From: Aleksander Morgado <aleksander@aleksander.es>
Date: Mon, 11 Sep 2017 09:31:03 +0200
Subject: [PATCH] mbim-device: prefer realpath() to canonicalize_file_name()
 
Usually the canonicalize_file_name() GNU extension is preferred to the
POSIX realpath(), as it covers some of the limitations the latter has.
But this extension isn't available in lots of platforms or in other
c library implementations (e.g. musl), so just default to the POSIX
method to improve portability.
 
Note that the check for canonicalize_file_name() availability during
configure isn't as trivial as adding a new AC_CHECK_FUNCS(), and
importing a gnulib module seems overkill just for this one liner.
 
(cherry picked from commit 417b0b80023dc30d61c111ec0a54da2884d3a541)
Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
---
 src/libmbim-glib/mbim-device.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 
diff --git a/src/libmbim-glib/mbim-device.c b/src/libmbim-glib/mbim-device.c
index e1f32a6..20e64af 100644
--- a/src/libmbim-glib/mbim-device.c
+++ b/src/libmbim-glib/mbim-device.c
@@ -867,7 +867,7 @@ get_descriptors_filepath (MbimDevice *self)
          *    /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:2.0
          */
         tmp = g_strdup_printf ("/sys/class/%s/%s/device", subsystems[i], device_basename);
-        path = canonicalize_file_name (tmp);
+        path = realpath (tmp, NULL);
         g_free (tmp);
 
         if (g_file_test (path, G_FILE_TEST_EXISTS)) {
--
2.13.1