Re: [PATCH v4 04/12] wildmatch: remove unnecessary functions

2012-10-10 Thread Michael Haggerty
On 10/10/2012 12:40 PM, Nguyễn Thái Ngọc Duy wrote:
> 
> Signed-off-by: Nguyễn Thái Ngọc Duy 
> ---
>  wildmatch.c | 161 
> 
>  wildmatch.h |   2 -
>  2 files changed, 9 insertions(+), 154 deletions(-)
> 
> diff --git a/wildmatch.c b/wildmatch.c
> index f3a1731..71dba76 100644
> --- a/wildmatch.c
> +++ b/wildmatch.c
> @@ -53,33 +53,19 @@
>  #define ISUPPER(c) (ISASCII(c) && isupper(c))
>  #define ISXDIGIT(c) (ISASCII(c) && isxdigit(c))
>  
> -#ifdef WILD_TEST_ITERATIONS
> -int wildmatch_iteration_count;
> -#endif
> -
>  static int force_lower_case = 0;
>  
>  /* Match pattern "p" against the a virtually-joined string consisting
>   * of "text" and any strings in array "a". */
> -static int dowild(const uchar *p, const uchar *text, const uchar*const *a)
> +static int dowild(const uchar *p, const uchar *text)

The comment still refers to array "a".

Michael

-- 
Michael Haggerty
mhag...@alum.mit.edu
http://softwareswirl.blogspot.com/
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v4 04/12] wildmatch: remove unnecessary functions

2012-10-10 Thread Nguyễn Thái Ngọc Duy

Signed-off-by: Nguyễn Thái Ngọc Duy 
---
 wildmatch.c | 161 
 wildmatch.h |   2 -
 2 files changed, 9 insertions(+), 154 deletions(-)

diff --git a/wildmatch.c b/wildmatch.c
index f3a1731..71dba76 100644
--- a/wildmatch.c
+++ b/wildmatch.c
@@ -53,33 +53,19 @@
 #define ISUPPER(c) (ISASCII(c) && isupper(c))
 #define ISXDIGIT(c) (ISASCII(c) && isxdigit(c))
 
-#ifdef WILD_TEST_ITERATIONS
-int wildmatch_iteration_count;
-#endif
-
 static int force_lower_case = 0;
 
 /* Match pattern "p" against the a virtually-joined string consisting
  * of "text" and any strings in array "a". */
-static int dowild(const uchar *p, const uchar *text, const uchar*const *a)
+static int dowild(const uchar *p, const uchar *text)
 {
 uchar p_ch;
 
-#ifdef WILD_TEST_ITERATIONS
-wildmatch_iteration_count++;
-#endif
-
 for ( ; (p_ch = *p) != '\0'; text++, p++) {
int matched, special;
uchar t_ch, prev_ch;
-   while ((t_ch = *text) == '\0') {
-   if (*a == NULL) {
-   if (p_ch != '*')
-   return ABORT_ALL;
-   break;
-   }
-   text = *a++;
-   }
+   if ((t_ch = *text) == '\0' && p_ch != '*')
+   return ABORT_ALL;
if (force_lower_case && ISUPPER(t_ch))
t_ch = tolower(t_ch);
switch (p_ch) {
@@ -107,21 +93,15 @@ static int dowild(const uchar *p, const uchar *text, const 
uchar*const *a)
/* Trailing "**" matches everything.  Trailing "*" matches
 * only if there are no more slash characters. */
if (!special) {
-   do {
if (strchr((char*)text, '/') != NULL)
return FALSE;
-   } while ((text = *a++) != NULL);
}
return TRUE;
}
while (1) {
-   if (t_ch == '\0') {
-   if ((text = *a++) == NULL)
-   break;
-   t_ch = *text;
-   continue;
-   }
-   if ((matched = dowild(p, text, a)) != FALSE) {
+   if (t_ch == '\0')
+   break;
+   if ((matched = dowild(p, text)) != FALSE) {
if (!special || matched != ABORT_TO_STARSTAR)
return matched;
} else if (!special && t_ch == '/')
@@ -225,144 +205,21 @@ static int dowild(const uchar *p, const uchar *text, 
const uchar*const *a)
}
 }
 
-do {
-   if (*text)
-   return FALSE;
-} while ((text = *a++) != NULL);
-
-return TRUE;
-}
-
-/* Match literal string "s" against the a virtually-joined string consisting
- * of "text" and any strings in array "a". */
-static int doliteral(const uchar *s, const uchar *text, const uchar*const *a)
-{
-for ( ; *s != '\0'; text++, s++) {
-   while (*text == '\0') {
-   if ((text = *a++) == NULL)
-   return FALSE;
-   }
-   if (*text != *s)
-   return FALSE;
-}
-
-do {
-   if (*text)
-   return FALSE;
-} while ((text = *a++) != NULL);
-
-return TRUE;
-}
-
-/* Return the last "count" path elements from the concatenated string.
- * We return a string pointer to the start of the string, and update the
- * array pointer-pointer to point to any remaining string elements. */
-static const uchar *trailing_N_elements(const uchar*const **a_ptr, int count)
-{
-const uchar*const *a = *a_ptr;
-const uchar*const *first_a = a;
-
-while (*a)
-   a++;
-
-while (a != first_a) {
-   const uchar *s = *--a;
-   s += strlen((char*)s);
-   while (--s >= *a) {
-   if (*s == '/' && !--count) {
-   *a_ptr = a+1;
-   return s+1;
-   }
-   }
-}
-
-if (count == 1) {
-   *a_ptr = a+1;
-   return *a;
-}
-
-return NULL;
+return *text ? FALSE : TRUE;
 }
 
 /* Match the "pattern" against the "text" string. */
 int wildmatch(const char *pattern, const char *text)
 {
-static const uchar *nomore[1]; /* A NULL pointer. */
-#ifdef WILD_TEST_ITERATIONS
-wildmatch_iteration_count = 0;
-#endif
-return dowild((const uchar*)pattern, (const uchar*)text, nomore) == TRUE;
+return dowild((const uchar*)pattern, (const uchar*)text) == TRUE;
 }
 
 /* Match the "pattern" against the forced-to-lower-case "text" string. */
 int iwildmatch(const char *pattern, const char *text)
 {
-static const uchar *nomore[1]; /* A NULL pointer. */
 int ret;
-#ifdef WILD_TEST_ITERATIONS
-wildmatch_iteration_count = 0;
-#endif
 force_lower_case = 1;
-ret = dowild((const uchar*)pattern, (const uchar*)text, nomore) == TRUE;
+ret = dowild((const uchar*)pattern, (const uchar*)text) == TRUE;
 force_lower_case = 0;
 return ret;
 }
-
-/* Match pattern "p" against the a virtually-joined string consisting
- * of all