Jelajahi Sumber

fix spuriously slow check in twoway strstr/memmem cores

mem0 && mem && ... is redundant since mem can only be nonzero when
mem0 is nonzero.
Rich Felker 6 tahun lalu
induk
melakukan
8f5a820d14
2 mengubah file dengan 2 tambahan dan 2 penghapusan
  1. 1 1
      src/string/memmem.c
  2. 1 1
      src/string/strstr.c

+ 1 - 1
src/string/memmem.c

@@ -100,7 +100,7 @@ static char *twoway_memmem(const unsigned char *h, const unsigned char *z, const
 		if (BITOP(byteset, h[l-1], &)) {
 			k = l-shift[h[l-1]];
 			if (k) {
-				if (mem0 && mem && k < p) k = l-p;
+				if (mem && k < p) k = l-p;
 				h += k;
 				mem = 0;
 				continue;

+ 1 - 1
src/string/strstr.c

@@ -110,7 +110,7 @@ static char *twoway_strstr(const unsigned char *h, const unsigned char *n)
 			k = l-shift[h[l-1]];
 			//printf("adv by %zu (on %c) at [%s] (%zu;l=%zu)\n", k, h[l-1], h, shift[h[l-1]], l);
 			if (k) {
-				if (mem0 && mem && k < p) k = l-p;
+				if (mem && k < p) k = l-p;
 				h += k;
 				mem = 0;
 				continue;