$OpenBSD: patch-sysdeps_openbsd_procwd_c,v 1.3 2014/02/03 13:50:32 ajacoutot Exp $

RM at next release.

--- sysdeps/openbsd/procwd.c.orig	Sat Jul 27 14:40:23 2013
+++ sysdeps/openbsd/procwd.c	Sun Feb  2 14:39:20 2014
@@ -41,84 +41,9 @@ _glibtop_init_proc_wd_s(glibtop *server)
 	server->sysdeps.proc_wd = _glibtop_sysdeps_proc_wd;
 }
 
-static GPtrArray *
-parse_output(const char *output, glibtop_proc_wd *buf)
-{
-	GPtrArray *dirs;
-	char     **lines;
-	gboolean   nextwd = FALSE;
-	gboolean   nextrtd = FALSE;
-	gboolean   havertd = FALSE;
-	guint      i;
-	guint      len;
-
-	dirs = g_ptr_array_sized_new(1);
-
-	lines = g_strsplit(output, "\n", 0);
-	len = g_strv_length(lines);
-
-	for (i = 0; i < len && lines[i]; i++) {
-		if (strlen(lines[i]) < 2)
-			continue;
-
-		if (!strcmp(lines[i], "fcwd")) {
-			nextwd = TRUE;
-			continue;
-		}
-
-		if (!strcmp(lines[i], "frtd")) {
-			nextrtd = TRUE;
-			continue;
-		}
-
-		if (!g_str_has_prefix(lines[i], "n"))
-			continue;
-
-		if (nextwd) {
-			g_ptr_array_add(dirs, g_strdup(lines[i] + 1));
-			nextwd = FALSE;
-		}
-
-		if (nextrtd && !havertd) {
-			g_strlcpy(buf->root, lines[i] + 1,
-				  sizeof(buf->root));
-			buf->flags |= (1 << GLIBTOP_PROC_WD_ROOT);
-			nextrtd = FALSE;
-			havertd = TRUE;
-		}
-	}
-
-	g_strfreev(lines);
-
-	return dirs;
-}
-
 char**
 glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid)
 {
-	char path[MAXPATHLEN];
-	char *output;
-
-	memset (buf, 0, sizeof (glibtop_proc_wd));
-
-	g_snprintf(path, sizeof(path), "/proc/%u/file", pid);
-	if (safe_readlink(path, buf->exe, sizeof(buf->exe)))
-		buf->flags |= (1 << GLIBTOP_PROC_WD_EXE);
-
-	output = execute_lsof(pid);
-	if (output != NULL) {
-		GPtrArray *dirs;
-
-		dirs = parse_output(output, buf);
-		g_free(output);
-
-		buf->number = dirs->len;
-		buf->flags |= (1 << GLIBTOP_PROC_WD_NUMBER);
-
-		g_ptr_array_add(dirs, NULL);
-
-		return (char **)g_ptr_array_free(dirs, FALSE);
-	}
-
+	/* TODO */
 	return NULL;
 }
