Fix ematch warnings with GCC4.0
diff --git a/ChangeLog b/ChangeLog
index 0d457a7..847e5a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,10 @@
-2005-07-05  Thomas Graf <tgraf@suug.ch>
+2005-07-14  Thomas Graf <tgraf@suug.ch>
 
-	* Build check for GNU Bison
+	* Make ematch bison/lex build with common flex
+	
+2005-07-10  Stephen Hemminger  <shemminger@osdl.org>
+	
+	* Fix Gcc 4.0 build warnings signed/unsigned
 
 2005-06-23  Jamal Hadi Salim <hadi@znyx.com>
 
diff --git a/tc/emp_ematch.l b/tc/emp_ematch.l
index 70cdb9a..09d535d 100644
--- a/tc/emp_ematch.l
+++ b/tc/emp_ematch.l
@@ -35,14 +35,8 @@
  static void __attribute__ ((unused)) yy_push_state (int  new_state );
  static void __attribute__ ((unused)) yy_pop_state  (void);
  static int  __attribute__ ((unused)) yy_top_state (void );
-%}
 
-%x str
-
-%option 8bit stack warn noyywrap prefix="ematch_"
-%%
-
- static unsigned char *strbuf;
+ static char *strbuf;
  static unsigned int strbuf_size;
  static unsigned int strbuf_index;
 
@@ -52,14 +46,14 @@
  	strbuf = realloc(strbuf, strbuf_size);
  }
 
- static void strbuf_append_char(unsigned char c)
+ static void strbuf_append_char(char c)
  {
  	while (strbuf_index >= strbuf_size)
  		strbuf_enlarge();
  	strbuf[strbuf_index++] = c;
  }
 
- static void strbuf_append_charp(unsigned char *s)
+ static void strbuf_append_charp(char *s)
  {
  	while (strbuf_index >= strbuf_size)
  		strbuf_enlarge();
@@ -67,6 +61,12 @@
  	strbuf_index += strlen(s);
  }
 
+%}
+
+%x str
+
+%option 8bit stack warn noyywrap prefix="ematch_"
+%%
 [ \t\r\n]+
 
 \"					{
diff --git a/tc/m_ematch.c b/tc/m_ematch.c
index 37ef045..44c621b 100644
--- a/tc/m_ematch.c
+++ b/tc/m_ematch.c
@@ -193,7 +193,7 @@
 			addraw_l(n, MAX_MSG, &hdr, sizeof(hdr));
 			addraw_l(n, MAX_MSG, &r, sizeof(r));
 		} else {
-			int num, err;
+			int num = 0, err;
 			char buf[64];
 			struct ematch_util *e;