summaryrefslogtreecommitdiffstats
path: root/x11-fm/velocity/files/patch-src-velocity-vfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'x11-fm/velocity/files/patch-src-velocity-vfs.c')
-rw-r--r--x11-fm/velocity/files/patch-src-velocity-vfs.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/x11-fm/velocity/files/patch-src-velocity-vfs.c b/x11-fm/velocity/files/patch-src-velocity-vfs.c
new file mode 100644
index 000000000..7e315d5af
--- /dev/null
+++ b/x11-fm/velocity/files/patch-src-velocity-vfs.c
@@ -0,0 +1,30 @@
+--- src/velocity-vfs.c.orig Tue Aug 26 04:23:50 2003
++++ src/velocity-vfs.c Mon Mar 1 19:23:34 2004
+@@ -31,6 +31,7 @@
+ #include <config.h>
+ #include <unistd.h>
+ #include <sys/types.h>
++#include <sys/param.h> /* for NGROUPS */
+ #include <glib.h>
+ #include <libgnome/gnome-desktop-item.h>
+ #include "velocity-vfs.h"
+@@ -240,7 +241,18 @@
+ return((vfsobj->info->uid==getuid()));
+ }
+ gboolean velocity_vfs_is_in_group(velocity_vfs_obj*vfsobj){
+- return((vfsobj->info->gid==getgid()));
++ /* 24 feb 2004 : Henri Michelon hmichelon at e-cml dot org
++ A patch to use the full list of groups on *BSD */
++ int cnt, ngroups;
++ gid_t groups[NGROUPS];
++ if ((ngroups = getgroups(NGROUPS, groups))) {
++ for (cnt = 0; cnt < ngroups; cnt++) {
++ if (vfsobj->info->gid==groups[cnt]) {
++ return(TRUE);
++ }
++ }
++ }
++ return(FALSE);
+ }
+ gboolean velocity_vfs_is_local(velocity_vfs_obj*vfsobj){
+ return(GNOME_VFS_FILE_INFO_LOCAL(vfsobj->info));