| From 8f6181b6f8dd82aa1ab1288cc7f2fd05d4a2519f Mon Sep 17 00:00:00 2001 | 
| From: Matt Weber <matthew.weber@rockwellcollins.com> | 
| Date: Mon, 1 May 2017 19:55:07 -0500 | 
| Subject: [PATCH] musl compat canonicalize_file_name() | 
|   | 
| Adds an equivalent of canonicalize_file_name | 
| using realpath(). | 
|   | 
| Bug report (origin of this patch): | 
| https://bugs.freedesktop.org/show_bug.cgi?id=99944 | 
|   | 
| Bug report has been updated with suggestion to not use inline. | 
|   | 
| Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> | 
| --- | 
|  configure.ac                |  2 ++ | 
|  src/libqmi-glib/qmi-utils.c | 15 +++++++++++++++ | 
|  2 files changed, 17 insertions(+) | 
|   | 
| diff --git a/configure.ac b/configure.ac | 
| index c56fa3e..d835db4 100644 | 
| --- a/configure.ac | 
| +++ b/configure.ac | 
| @@ -80,6 +80,8 @@ AC_SUBST(GLIB_LIBS) | 
|  GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` | 
|  AC_SUBST(GLIB_MKENUMS) | 
|   | 
| +AC_CHECK_FUNCS([canonicalize_file_name]) | 
| + | 
|  dnl qmi-firmware-update is optional, enabled by default | 
|  AC_ARG_ENABLE([firmware-update], | 
|                AS_HELP_STRING([--enable-firmware-update], | 
| diff --git a/src/libqmi-glib/qmi-utils.c b/src/libqmi-glib/qmi-utils.c | 
| index 29e5f22..26aff9e 100644 | 
| --- a/src/libqmi-glib/qmi-utils.c | 
| +++ b/src/libqmi-glib/qmi-utils.c | 
| @@ -34,6 +34,21 @@ | 
|  #include "qmi-utils.h" | 
|  #include "qmi-error-types.h" | 
|   | 
| +#ifndef HAVE_CANONICALIZE_FILE_NAME | 
| +#include <limits.h> | 
| +static char * canonicalize_file_name(const char *path) | 
| +{ | 
| +       char buf[PATH_MAX] = { }; | 
| + | 
| +       snprintf(buf, sizeof(buf) - 1, "%s", path); | 
| + | 
| +       if (!realpath(path, buf)) | 
| +               return NULL; | 
| + | 
| +       return strdup(buf); | 
| +} | 
| +#endif | 
| + | 
|  /** | 
|   * SECTION:qmi-utils | 
|   * @title: Common utilities | 
| --  | 
| 1.9.1 |