[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[lvm-devel] LVM2/libdm/regex matcher.c



CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac sourceware org	2010-11-29 14:25:14

Modified files:
	libdm/regex    : matcher.c 

Log message:
	Optimize lookup table read
	
	Reread lookup table only when needed.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdm/regex/matcher.c.diff?cvsroot=lvm2&r1=1.14&r2=1.15

--- LVM2/libdm/regex/matcher.c	2010/11/29 12:43:49	1.14
+++ LVM2/libdm/regex/matcher.c	2010/11/29 14:25:13	1.15
@@ -372,11 +372,11 @@
 {
         struct dfa_state *ns;
 
-        if (!cs->lookup[(unsigned char) c])
-                _calc_state(m, cs, (unsigned char) c);
-
-	if (!(ns = cs->lookup[(unsigned char) c]))
-		return NULL;
+	if (!(ns = cs->lookup[(unsigned char) c])) {
+		_calc_state(m, cs, (unsigned char) c);
+		if (!(ns = cs->lookup[(unsigned char) c]))
+			return NULL;
+	}
 
         // yuck, we have to special case the target trans
         if (ns->final == -1)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]