--- ./tcl.org/generic/tclpipe.c	Tue Dec 17 01:47:40 2002
+++ ./tcl/generic/tclpipe.c	Tue Dec 17 01:47:40 2002
@@ -323,10 +323,18 @@
 	    char msg1[TCL_INTEGER_SPACE], msg2[TCL_INTEGER_SPACE];
 
 	    result = TCL_ERROR;
+#ifdef __WIN32__
+        sprintf(msg1, "%lu", resolvedPid);
+#else
 	    TclFormatInt(msg1, (long) resolvedPid);
+#endif
 	    if (WIFEXITED(waitStatus)) {
                 if (interp != (Tcl_Interp *) NULL) {
+#ifdef __WIN32__
+                    sprintf(msg2, "%lu", WEXITSTATUS(waitStatus));
+#else
 		    TclFormatInt(msg2, WEXITSTATUS(waitStatus));
+#endif
                     Tcl_SetErrorCode(interp, "CHILDSTATUS", msg1, msg2,
                             (char *) NULL);
                 }
@@ -1068,3 +1076,4 @@
     }
     return NULL;
 }
+
