From upstream: g_get_current_dir(): consult PWD first
This commit is contained in:
parent
02270920a7
commit
1d5d65fd3e
@ -1,11 +1,11 @@
|
||||
# $OpenBSD: Makefile,v 1.218 2013/12/26 10:07:07 ajacoutot Exp $
|
||||
# $OpenBSD: Makefile,v 1.219 2014/01/03 16:01:53 ajacoutot Exp $
|
||||
|
||||
COMMENT= general-purpose utility library
|
||||
|
||||
GNOME_PROJECT= glib
|
||||
GNOME_VERSION= 2.38.2
|
||||
PKGNAME= ${DISTNAME:S/glib/glib2/}
|
||||
REVISION= 2
|
||||
REVISION= 3
|
||||
|
||||
CATEGORIES= devel
|
||||
|
||||
|
40
devel/glib2/patches/patch-glib_gfileutils_c
Normal file
40
devel/glib2/patches/patch-glib_gfileutils_c
Normal file
@ -0,0 +1,40 @@
|
||||
$OpenBSD: patch-glib_gfileutils_c,v 1.1 2014/01/03 16:01:53 ajacoutot Exp $
|
||||
|
||||
From a22f77739dd4ec911d7bdc0f0fc61314e5f9f1cf Mon Sep 17 00:00:00 2001
|
||||
From: Ryan Lortie <desrt@desrt.ca>
|
||||
Date: Sun, 08 Dec 2013 23:18:16 +0000
|
||||
Subject: g_get_current_dir(): consult PWD first
|
||||
|
||||
--- glib/gfileutils.c.orig Tue Nov 12 06:30:22 2013
|
||||
+++ glib/gfileutils.c Fri Jan 3 16:52:38 2014
|
||||
@@ -2469,6 +2469,11 @@ g_path_get_dirname (const gchar *file_name)
|
||||
* The encoding of the returned string is system defined.
|
||||
* On Windows, it is always UTF-8.
|
||||
*
|
||||
+ * Since GLib 2.40, this function will return the value of the "PWD"
|
||||
+ * environment variable if it is set and it happens to be the same as
|
||||
+ * the current directory. This can make a difference in the case that
|
||||
+ * the current directory is the target of a symbolic link.
|
||||
+ *
|
||||
* Returns: the current directory
|
||||
*/
|
||||
gchar *
|
||||
@@ -2494,10 +2499,17 @@ g_get_current_dir (void)
|
||||
return dir;
|
||||
|
||||
#else
|
||||
-
|
||||
+ const gchar *pwd;
|
||||
gchar *buffer = NULL;
|
||||
gchar *dir = NULL;
|
||||
static gulong max_len = 0;
|
||||
+ struct stat pwdbuf, dotbuf;
|
||||
+
|
||||
+ pwd = g_getenv ("PWD");
|
||||
+ if (pwd != NULL &&
|
||||
+ g_stat (".", &dotbuf) == 0 && g_stat (pwd, &pwdbuf) == 0 &&
|
||||
+ dotbuf.st_dev == pwdbuf.st_dev && dotbuf.st_ino == pwdbuf.st_ino)
|
||||
+ return g_strdup (pwd);
|
||||
|
||||
if (max_len == 0)
|
||||
max_len = (G_PATH_LENGTH == -1) ? 2048 : G_PATH_LENGTH;
|
Loading…
x
Reference in New Issue
Block a user