From cda70c3b71e61d43a9a2506a5c3da40ad5ca6f36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Andr=C3=A9=20Vadla=20Ravn=C3=A5s?= Date: Mon, 22 Mar 2010 16:16:52 +0100 Subject: [PATCH 02/12] Add a wrapper for realpath to support non-POSIX OSes --- wocky/wocky-connector.c | 4 ++-- wocky/wocky-utils.c | 14 ++++++++++++++ wocky/wocky-utils.h | 2 ++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/wocky/wocky-connector.c b/wocky/wocky-connector.c index 2023887..e7196fe 100644 --- a/wocky/wocky-connector.c +++ b/wocky/wocky-connector.c @@ -2742,7 +2742,7 @@ wocky_connector_add_ca (WockyConnector *self, const gchar *path) { WockyConnectorPrivate *priv = WOCKY_CONNECTOR_GET_PRIVATE (self); - gchar *abspath = realpath (path, NULL); + gchar *abspath = wocky_normalise_path (path); if (abspath != NULL) priv->cas = g_slist_prepend (priv->cas, abspath); @@ -2767,7 +2767,7 @@ wocky_connector_add_crl (WockyConnector *self, const gchar *path) { WockyConnectorPrivate *priv = WOCKY_CONNECTOR_GET_PRIVATE (self); - gchar *abspath = realpath (path, NULL); + gchar *abspath = wocky_normalise_path (path); if (abspath != NULL) priv->crl = g_slist_prepend (priv->crl, abspath); diff --git a/wocky/wocky-utils.c b/wocky/wocky-utils.c index f504936..eff740d 100644 --- a/wocky/wocky-utils.c +++ b/wocky/wocky-utils.c @@ -22,6 +22,7 @@ * Copyright (C) 2006-2007 Nokia Corporation */ +#include #include #include "wocky-utils.h" @@ -627,3 +628,16 @@ wocky_enum_to_nick ( else return NULL; } + +gchar * +wocky_normalise_path (const gchar *path) +{ +#ifdef G_OS_WIN32 + if (!g_path_is_absolute (path)) + return NULL; + return g_strdup (path); +#else + return realpath (path, NULL); +#endif +} + diff --git a/wocky/wocky-utils.h b/wocky/wocky-utils.h index b1bab0b..aca9b4b 100644 --- a/wocky/wocky-utils.h +++ b/wocky/wocky-utils.h @@ -59,6 +59,8 @@ GValue *wocky_g_value_slice_dup (const GValue *value); gboolean wocky_enum_from_nick (GType enum_type, const gchar *nick, gint *value); const gchar *wocky_enum_to_nick (GType enum_type, gint value); +gchar * wocky_normalise_path (const gchar *path); + G_END_DECLS #endif /* #ifndef __WOCKY_UTIL_H__ */ -- 1.6.4.msysgit.0