summaryrefslogtreecommitdiffstats
path: root/sysutils/gnome-volume-manager/files/patch-src_manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/gnome-volume-manager/files/patch-src_manager.c')
-rw-r--r--sysutils/gnome-volume-manager/files/patch-src_manager.c63
1 files changed, 0 insertions, 63 deletions
diff --git a/sysutils/gnome-volume-manager/files/patch-src_manager.c b/sysutils/gnome-volume-manager/files/patch-src_manager.c
deleted file mode 100644
index ded14abd6..000000000
--- a/sysutils/gnome-volume-manager/files/patch-src_manager.c
+++ /dev/null
@@ -1,63 +0,0 @@
---- src/manager.c.orig Mon Jul 31 16:37:36 2006
-+++ src/manager.c Fri Sep 15 01:32:32 2006
-@@ -23,9 +23,12 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <dirent.h>
-+#include <fcntl.h>
- #include <signal.h>
- #include <unistd.h>
- #include <utmp.h>
-+#include <sys/param.h>
-+#include <sys/mount.h>
-
- #include <locale.h>
-
-@@ -3088,10 +3091,17 @@ gvm_local_user (void)
- struct utmp *utmp;
- const char *user;
- size_t ulen;
-+#ifndef __linux__
-+ int bytes, fd;
-+ struct stat sb;
-+ struct utmp buf[1024];
-+ long len;
-+#endif
-
- user = g_get_user_name ();
- ulen = strlen (user);
-
-+#ifdef __linux__
- setutent ();
-
- while (!local && (utmp = getutent ())) {
-@@ -3103,7 +3113,28 @@ gvm_local_user (void)
- }
-
- endutent ();
--
-+#else
-+ if ((fd = open (_PATH_WTMP, O_RDONLY, 0)) < 0 || fstat(fd, &sb) == -1) {
-+ close (fd);
-+ return TRUE;
-+ }
-+ len = (sb.st_size + sizeof(buf) - 1) / sizeof(buf);
-+
-+ while (!local && --len >= 0) {
-+ if (lseek(fd, (off_t) (len * sizeof(buf)), L_SET) == -1 ||
-+ (bytes = read (fd, buf, sizeof(buf))) == -1) {
-+ close (fd);
-+ return TRUE;
-+ }
-+ for (utmp = &buf[bytes / sizeof(buf[0]) - 1]; !local && utmp >= buf; --utmp) {
-+ if (!utmp->ut_name[0] || strncmp (utmp->ut_name, user, ulen) != 0)
-+ continue;
-+ local = utmp->ut_line[0] == ':' && utmp->ut_line[1] >= '0' && utmp->ut_line[1] <= '9';
-+ }
-+ }
-+
-+ close (fd);
-+#endif
- return local;
- }
-