Index: /trunk/src/kash/bltin/kill.c
===================================================================
--- /trunk/src/kash/bltin/kill.c	(revision 2311)
+++ /trunk/src/kash/bltin/kill.c	(revision 2312)
@@ -197,5 +197,5 @@
 	size_t len, nl;
 	const char *name;
-	int termwidth = 80;
+	unsigned termwidth = 80;
 
 	if (shfile_isatty(&psh->fdtab, out->fd)) {
Index: /trunk/src/kash/mail.c
===================================================================
--- /trunk/src/kash/mail.c	(revision 2311)
+++ /trunk/src/kash/mail.c	(revision 2312)
@@ -60,5 +60,5 @@
 
 
-/*STATIC int nmboxes;			/* number of mailboxes */
+/*STATIC int nmboxes;*/			/* number of mailboxes */
 /*STATIC time_t mailtime[MAXMBOXES];*/	/* times of mailboxes */
 
Index: /trunk/src/kash/memalloc.c
===================================================================
--- /trunk/src/kash/memalloc.c	(revision 2311)
+++ /trunk/src/kash/memalloc.c	(revision 2312)
@@ -127,5 +127,5 @@
 
 	nbytes = SHELL_ALIGN(nbytes);
-	if (nbytes > psh->stacknleft) {
+	if (nbytes > (size_t)psh->stacknleft || psh->stacknleft < 0) {
 		size_t blocksize;
 		struct stack_block *sp;
Index: /trunk/src/kash/parser.c
===================================================================
--- /trunk/src/kash/parser.c	(revision 2311)
+++ /trunk/src/kash/parser.c	(revision 2312)
@@ -1346,5 +1346,5 @@
 		if (subtype != VSNORMAL) {
 			varnest++;
-			if (varnest >= maxnest) {
+			if (varnest >= (int)maxnest) {
 				dblquotep = ckrealloc(psh, dblquotep, maxnest / 8);
 				dblquotep[(maxnest / 32) - 1] = 0;
Index: /trunk/src/kash/setmode.c
===================================================================
--- /trunk/src/kash/setmode.c	(revision 2311)
+++ /trunk/src/kash/setmode.c	(revision 2312)
@@ -368,5 +368,5 @@
 	case 'X':
 		set->cmd = op;
-		set->bits = (who ? who : mask) & oparg;
+		set->bits = (who ? (unsigned int)who : mask) & (unsigned int)oparg;
 		break;
 
Index: /trunk/src/kash/shfile.c
===================================================================
--- /trunk/src/kash/shfile.c	(revision 2311)
+++ /trunk/src/kash/shfile.c	(revision 2312)
@@ -843,5 +843,4 @@
 {
     int rc;
-    int s;
 #ifdef SHFILE_IN_USE
 # if K_OS == K_OS_WINDOWS
@@ -879,7 +878,7 @@
         }
 # endif
-        s = errno;
         if (fds[1] == -1)
         {
+            int s = errno;
             if (fds[0] != -1)
             {
Index: /trunk/src/kash/shthread.c
===================================================================
--- /trunk/src/kash/shthread.c	(revision 2311)
+++ /trunk/src/kash/shthread.c	(revision 2312)
@@ -48,5 +48,5 @@
 #else
 static int sh_tls_inited = 0;
-static int sh_tls;
+static pthread_key_t sh_tls;
 #endif
 
