This is the mail archive of the lvm2-cvs@sourceware.org mailing list for the LVM2 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]