Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=8116d2f4bf785faae197e65d3987e852d4656bfe

commit 8116d2f4bf785faae197e65d3987e852d4656bfe
Author: Miklos Vajna <vmik...@frugalware.org>
Date:   Sun May 15 01:35:34 2011 +0200

pacman -P: skip some wellknown nonlibrary memorymapped files

fixes false positives while firefox is running, for example

diff --git a/src/pacman-g2/ps.c b/src/pacman-g2/ps.c
index 09bf535..8ce6f06 100644
--- a/src/pacman-g2/ps.c
+++ b/src/pacman-g2/ps.c
@@ -135,8 +135,26 @@ static list_t* ps_parse(FILE *fp)
ptr = buf+1;
if (!strcmp(ptr, "DEL")) {
ptr = buf+strlen(buf)+1;
-                               if (ptr[0] == 'n')
-                                       ps->files = list_add(ps->files, 
strdup(ptr+1));
+                               if (ptr[0] == 'n') {
+                                       /* skip some wellknown nonlibrary 
memorymapped files */
+                                       int skip = 0;
+                                       if(config->verbose <= 0) {
+                                               static const char * black[] = {
+                                                       "/SYSV",
+                                                       "/var/run/",
+                                                       "/dev/"
+                                               };
+                                               int i;
+                                               for (i = 0; i < 
ARRAY_SIZE(black); i++) {
+                                                       if (!strncmp(black[i], 
ptr+1, strlen(black[i]))) {
+                                                               skip = 1;
+                                                               break;
+                                                       }
+                                               }
+                                       }
+                                       if (!skip)
+                                               ps->files = list_add(ps->files, 
strdup(ptr+1));
+                               }
}
}
}
diff --git a/src/pacman-g2/util.h b/src/pacman-g2/util.h
index 809d193..de1c06b 100644
--- a/src/pacman-g2/util.h
+++ b/src/pacman-g2/util.h
@@ -44,6 +44,8 @@

#define _(str) gettext(str)

+#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
+
void indentprint(char *str, int indent);
char *buildstring(list_t *strlist);
char *strtoupper(char *str);
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to