#include <stdlib.h>
#include <string.h>
#include <ctype.h>
+
+#include "os_regex.h"
#include "os_regex_internal.h"
/* Algorithm:
/** Prototypes **/
-int _InternalMatch(char *pattern, char *str,int count);
+static int _InternalMatch(const char *pattern, const char *str,size_t count) __attribute__((nonnull));
/* OS_WordMatch v0.3:
* Searches for pattern in the string
*/
-int OS_WordMatch(char *pattern, char *str)
+int OS_WordMatch(const char *pattern, const char *str)
{
- int count = 0;
+ size_t count = 0;
if(*pattern == '\0')
return(FALSE);
}
/* Internal match function */
-int _InternalMatch(char *pattern, char *str, int pattern_size)
+static int _InternalMatch(const char *pattern, const char *str, size_t pattern_size)
{
- uchar *pt = (uchar *)pattern;
- uchar *st = (uchar *)str;
+ const uchar *pt = (const uchar *)pattern;
+ const uchar *st = (const uchar *)str;
- uchar last_char = pattern[pattern_size];
+ const uchar last_char = (const uchar) pattern[pattern_size];
/* Return true for some odd expressions */
/* Match */
if(charmap[*st] == charmap[*pt])
{
- str = (char *)st++;
+ str = (const char *)st++;
pt++;
while(*pt != last_char)
return(TRUE);
error:
- st = (uchar *)str;
- pt = (uchar *)pattern;
+ st = (const uchar *)str;
+ pt = (const uchar *)pattern;
}