Mailing List Archive

NessusClient/nessus/prefs_dialog prefs_report.c,1.1.1.1,1.2
Update of /usr/local/cvs/NessusClient/nessus/prefs_dialog
In directory raccoon.nessus.org:/tmp/cvs-serv42579/nessus/prefs_dialog

Modified Files:
prefs_report.c
Log Message:
Move the code from cmp_vulns that determines a numerical value for a
severity into a separate function, severity_level so that we can use it
elsewhere as well. Adapt cmp_vulns accordingly.


Index: prefs_report.c
===================================================================
RCS file: /usr/local/cvs/NessusClient/nessus/prefs_dialog/prefs_report.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- prefs_report.c 10 Sep 2005 17:36:46 -0000 1.1.1.1
+++ prefs_report.c 10 Feb 2006 19:37:24 -0000 1.2
@@ -41,6 +41,30 @@

typedef void (*func_fill_t)(struct arglist *, GtkWidget*);

+
+/* Convert the severity string to an integer level:
+ *
+ * "Security Hole" -> 3
+ * "Security Warning" -> 2
+ * "Security Note" -> 1
+ * anything else -> 0
+ */
+static int
+severity_level(const char *severity)
+{
+ static const char * levels[] = {"Note", "Warning", "Hole"};
+ int i;
+
+ for (i = 3; i >= 1; i--)
+ {
+ if (strstr(severity, levels[i - 1]))
+ return i;
+ }
+
+ return 0;
+}
+
+
/*
* Our sort functions
*/
@@ -73,24 +97,12 @@
cmp_vulns(a, b)
char * a, * b;
{
- int level_a, level_b;
-
if(!a)
return -1;
else if(!b)
return 1;

- if(strstr(a, "Hole"))level_a = 3;
- else if(strstr(a, "Warning"))level_a = 2;
- else if(strstr(a, "Note"))level_a = 1;
- else level_a = 0;
-
- if(strstr(b, "Hole"))level_b = 3;
- else if(strstr(b, "Warning"))level_b = 2;
- else if(strstr(b, "Note"))level_b = 1;
- else level_b = 0;
-
- return level_a - level_b;
+ return severity_level(a) - severity_level(b);
}

/*

_______________________________________________
Nessus-cvs mailing list
Nessus-cvs@list.nessus.org
http://mail.nessus.org/mailman/listinfo/nessus-cvs