Fix gcc 4.0 warnings.

diff --git a/programs/regedit/regproc.c b/programs/regedit/regproc.c
index cf5600b..7e744cd 100644
--- a/programs/regedit/regproc.c
+++ b/programs/regedit/regproc.c
@@ -231,7 +231,7 @@
 DWORD convertHexCSVToHex(char *str, BYTE *buf, ULONG bufLen)
 {
     char *s = str;  /* Pointer to current */
-    char *b = buf;  /* Pointer to result  */
+    char *b = (char*) buf;  /* Pointer to result  */
 
     ULONG strLen    = strlen(str);
     ULONG strPos    = 0;
@@ -408,7 +408,7 @@
             dwLen--;
             val_data[dwLen]='\0';
         }
-        lpbData = val_data;
+        lpbData = (BYTE*) val_data;
     } else if (dwParseType == REG_DWORD)  /* Convert the dword types */
     {
         dwLen   = convertHexToDWord(val_data, convert);
@@ -1195,7 +1195,7 @@
             case REG_SZ:
             case REG_EXPAND_SZ:
                 fputs("\"", file);
-                REGPROC_export_string(file, *val_buf);
+                REGPROC_export_string(file, (char*) *val_buf);
                 fputs("\"\n", file);
                 break;
 
diff --git a/programs/taskmgr/dbgchnl.c b/programs/taskmgr/dbgchnl.c
index aebbb0e..aec460d 100644
--- a/programs/taskmgr/dbgchnl.c
+++ b/programs/taskmgr/dbgchnl.c
@@ -201,7 +201,7 @@
     int                         i, ret = 1;
     unsigned int                j;
     void*                       buf_addr;
-    unsigned char               buffer[32];
+    char                        buffer[32];
     void*                       addr;
     const char**                cache = NULL;
     unsigned                    num_cache, used_cache;
diff --git a/programs/wcmd/builtins.c b/programs/wcmd/builtins.c
index a8a54c5..0d1a259 100644
--- a/programs/wcmd/builtins.c
+++ b/programs/wcmd/builtins.c
@@ -69,8 +69,8 @@
   if (GetConsoleScreenBufferInfo(hStdOut, &consoleInfo))
   {
       COORD topLeft;
-      long screenSize;
-      
+      DWORD screenSize;
+
       screenSize = consoleInfo.dwSize.X * (consoleInfo.dwSize.Y + 1);
 
       topLeft.X = 0;
diff --git a/programs/wcmd/wcmdmain.c b/programs/wcmd/wcmdmain.c
index 5be391d..1c1cd5b 100644
--- a/programs/wcmd/wcmdmain.c
+++ b/programs/wcmd/wcmdmain.c
@@ -496,7 +496,7 @@
          * it's new input & output handles)
          */
         size_t sz = max(sizeof(unsigned) + (sizeof(char) + sizeof(HANDLE)) * 3, st_p.cbReserved2);
-        char* ptr = HeapAlloc(GetProcessHeap(), 0, sz);
+        BYTE* ptr = HeapAlloc(GetProcessHeap(), 0, sz);
         if (ptr)
         {
             unsigned num = *(unsigned*)st_p.lpReserved2;
@@ -506,7 +506,7 @@
             memcpy(ptr, st_p.lpReserved2, st_p.cbReserved2);
             st->cbReserved2 = sz;
             st->lpReserved2 = ptr;
-                
+
 #define WX_OPEN 0x01    /* see dlls/msvcrt/file.c */
             if (num <= 0 || (flags[0] & WX_OPEN))
             {
diff --git a/programs/winedbg/debugger.h b/programs/winedbg/debugger.h
index 64a992e..64fc111 100644
--- a/programs/winedbg/debugger.h
+++ b/programs/winedbg/debugger.h
@@ -297,7 +297,7 @@
 extern struct expr*     expr_alloc_func_call(const char*, int nargs, ...);
 extern struct expr*     expr_alloc_typecast(struct type_expr_t*, struct expr*);
 extern struct dbg_lvalue expr_eval(struct expr*);
-extern struct expr*     expr_clone(const struct expr* exp, unsigned* local_binding);
+extern struct expr*     expr_clone(const struct expr* exp, BOOL *local_binding);
 extern int              expr_free(struct expr* exp);
 extern int              expr_print(const struct expr* exp);
 
diff --git a/programs/winedbg/display.c b/programs/winedbg/display.c
index 58e3415..2f91895 100644
--- a/programs/winedbg/display.c
+++ b/programs/winedbg/display.c
@@ -60,7 +60,7 @@
 int display_add(struct expr *exp, int count, char format)
 {
     int         i;
-    int         local_binding = FALSE;
+    BOOL local_binding = FALSE;
 
     for (i = 0; i < ndisplays; i++)
         if (displaypoints[i].exp == NULL)
diff --git a/programs/winedbg/expr.c b/programs/winedbg/expr.c
index 8372b46..b28c737 100644
--- a/programs/winedbg/expr.c
+++ b/programs/winedbg/expr.c
@@ -770,7 +770,7 @@
     return TRUE;
 }
 
-struct expr* expr_clone(const struct expr* exp, unsigned* local_binding)
+struct expr* expr_clone(const struct expr* exp, BOOL *local_binding)
 {
     int		        i;
     struct expr*        rtn;
diff --git a/programs/winedbg/gdbproxy.c b/programs/winedbg/gdbproxy.c
index e89470c..f815359 100644
--- a/programs/winedbg/gdbproxy.c
+++ b/programs/winedbg/gdbproxy.c
@@ -2083,7 +2083,7 @@
 {
     int                 sock;
     struct sockaddr_in  s_addrs;
-    int                 s_len = sizeof(s_addrs);
+    unsigned int        s_len = sizeof(s_addrs);
     struct pollfd       pollfd;
     IMAGEHLP_MODULE     imh_mod;
 
diff --git a/programs/winedbg/info.c b/programs/winedbg/info.c
index dad9365..db589d3 100644
--- a/programs/winedbg/info.c
+++ b/programs/winedbg/info.c
@@ -692,7 +692,7 @@
     struct dll_option_layout    dol;
     int                         i;
     char*                       str;
-    unsigned char               buffer[32];
+    char                        buffer[32];
     unsigned char               mask;
     int                         done = 0;
     BOOL                        bAll;