Index: /trunk/src/kmk/kmkbuiltin/append.c
===================================================================
--- /trunk/src/kmk/kmkbuiltin/append.c	(revision 2465)
+++ /trunk/src/kmk/kmkbuiltin/append.c	(revision 2466)
@@ -178,5 +178,5 @@
     pFile = fopen(argv[i], fTruncate ? "w" : "a");
     if (!pFile)
-        return err(1, "failed to open '%s'.", argv[i]);
+        return err(1, "failed to open '%s'", argv[i]);
 
     /*
Index: /trunk/src/kmk/kmkbuiltin/chmod.c
===================================================================
--- /trunk/src/kmk/kmkbuiltin/chmod.c	(revision 2465)
+++ /trunk/src/kmk/kmkbuiltin/chmod.c	(revision 2466)
@@ -196,10 +196,10 @@
 			continue;
 		case FTS_DNR:			/* Warn, chmod, continue. */
-			warnx("%s: %s", p->fts_path, strerror(p->fts_errno));
+			warnx("fts: %s: %s", p->fts_path, strerror(p->fts_errno));
 			rval = 1;
 			break;
 		case FTS_ERR:			/* Warn, continue. */
 		case FTS_NS:
-			warnx("%s: %s", p->fts_path, strerror(p->fts_errno));
+			warnx("fts: %s: %s", p->fts_path, strerror(p->fts_errno));
 			rval = 1;
 			continue;
@@ -222,5 +222,5 @@
 			continue;
 		if ((*change_mode)(p->fts_accpath, newmode) && !fflag) {
-			warn("%s", p->fts_path);
+			warn("%schmod: %s", hflag ? "l" : "", p->fts_path);
 			rval = 1;
 		} else {
Index: /trunk/src/kmk/kmkbuiltin/cp.c
===================================================================
--- /trunk/src/kmk/kmkbuiltin/cp.c	(revision 2465)
+++ /trunk/src/kmk/kmkbuiltin/cp.c	(revision 2466)
@@ -337,5 +337,5 @@
 	if (r == -1 && errno != ENOENT) {
 		kBuildProtectionTerm(&g_ProtData);
-		return err(1, "%s", to.p_path);
+		return err(1, "stat: %s", to.p_path);
 	}
 	if (r == -1 || !S_ISDIR(to_stat.st_mode)) {
@@ -424,5 +424,5 @@
 			    && curr->fts_errno == ENOENT) {
 				if (vflag) {
-					warnx("%s: %s", curr->fts_path,
+					warnx("fts: %s: %s", curr->fts_path,
 					      strerror(curr->fts_errno));
 				}
@@ -431,5 +431,5 @@
 		case FTS_DNR:
 		case FTS_ERR:
-			warnx("%s: %s",
+			warnx("fts: %s: %s",
 			    curr->fts_path, strerror(curr->fts_errno));
 			badcp = rval = 1;
@@ -594,8 +594,8 @@
 				if (mkdir(to.p_path,
 				    curr->fts_statp->st_mode | S_IRWXU) < 0)
-					return err(1, "%s", to.p_path);
+					return err(1, "mkdir: %s", to.p_path);
 			} else if (!S_ISDIR(to_stat.st_mode)) {
 				errno = ENOTDIR;
-				return err(1, "%s", to.p_path);
+				return err(1, "to-mode: %s", to.p_path);
 			}
 			/*
Index: /trunk/src/kmk/kmkbuiltin/cp_utils.c
===================================================================
--- /trunk/src/kmk/kmkbuiltin/cp_utils.c	(revision 2465)
+++ /trunk/src/kmk/kmkbuiltin/cp_utils.c	(revision 2466)
@@ -98,5 +98,5 @@
 
 	if ((from_fd = open(entp->fts_path, O_RDONLY | O_BINARY, 0)) == -1) {
-		warn("%s", entp->fts_path);
+		warn("open: %s", entp->fts_path);
 		return (1);
 	}
@@ -124,5 +124,5 @@
     				close(from_fd);
 				if ((from_fd = open(entp->fts_path, O_RDONLY | O_BINARY, 0)) == -1) {
-					warn("%s", entp->fts_path);
+					warn("open: %s", entp->fts_path);
 					return (1);
 				}
@@ -162,5 +162,5 @@
 
 	if (to_fd == -1) {
-		warn("%s", to.p_path);
+		warn("open: %s", to.p_path);
 		(void)close(from_fd);
 		return (1);
@@ -180,5 +180,5 @@
 		if ((p = mmap(NULL, (size_t)fs->st_size, PROT_READ,
 		    MAP_SHARED, from_fd, (off_t)0)) == MAP_FAILED) {
-			warn("%s", entp->fts_path);
+			warn("mmap: %s", entp->fts_path);
 			rval = 1;
 		} else {
@@ -200,10 +200,10 @@
 			}
 			if (wcount != (ssize_t)wresid) {
-				warn("%s", to.p_path);
+				warn("write[%zd != %zu]: %s", wcount, wresid, to.p_path);
 				rval = 1;
 			}
 			/* Some systems don't unmap on close(2). */
 			if (munmap(p, fs->st_size) < 0) {
-				warn("%s", entp->fts_path);
+				warn("munmap: %s", entp->fts_path);
 				rval = 1;
 			}
@@ -230,5 +230,5 @@
 			}
 			if (wcount != (ssize_t)wresid) {
-				warn("%s", to.p_path);
+				warn("write[%zd != %zu]: %s", wcount, wresid, to.p_path);
 				rval = 1;
 				break;
@@ -236,5 +236,5 @@
 		}
 		if (rcount < 0) {
-			warn("%s", entp->fts_path);
+			warn("read: %s", entp->fts_path);
 			rval = 1;
 		}
@@ -252,5 +252,5 @@
 	(void)close(from_fd);
 	if (close(to_fd)) {
-		warn("%s", to.p_path);
+		warn("close: %s", to.p_path);
 		rval = 1;
 	}
Index: /trunk/src/kmk/kmkbuiltin/ln.c
===================================================================
--- /trunk/src/kmk/kmkbuiltin/ln.c	(revision 2465)
+++ /trunk/src/kmk/kmkbuiltin/ln.c	(revision 2466)
@@ -155,8 +155,8 @@
 		 */
 		errno = ENOTDIR;
-		return err(1, "%s", sourcedir);
+		return err(1, "st_mode: %s", sourcedir);
 	}
 	if (stat(sourcedir, &sb))
-		return err(1, "%s", sourcedir);
+		return err(1, "stat: %s", sourcedir);
 	if (!S_ISDIR(sb.st_mode))
 		return usage(stderr);
@@ -177,5 +177,5 @@
 		/* If target doesn't exist, quit now. */
 		if (stat(target, &sb)) {
-			warn("%s", target);
+			warn("stat: %s", target);
 			return (1);
 		}
@@ -183,5 +183,5 @@
 		if (S_ISDIR(sb.st_mode)) {
 			errno = EISDIR;
-			warn("%s", target);
+			warn("st_mode: %s", target);
 			return (1);
 		}
@@ -210,5 +210,5 @@
 		    (ssize_t)sizeof(path)) {
 			errno = ENAMETOOLONG;
-			warn("%s", target);
+			warn("snprintf: %s", target);
 			return (1);
 		}
@@ -223,5 +223,5 @@
 	if (fflag && exists) {
 		if (unlink(source)) {
-			warn("%s", source);
+			warn("unlink: %s", source);
 			return (1);
 		}
@@ -239,5 +239,5 @@
 
 		if (unlink(source)) {
-			warn("%s", source);
+			warn("unlink: %s", source);
 			return (1);
 		}
@@ -246,5 +246,5 @@
 	/* Attempt the link. */
 	if ((*linkf)(target, source)) {
-		warn("%s", source);
+		warn("%s: %s", linkf == link ? "link" : "symlink", source);
 		return (1);
 	}
Index: /trunk/src/kmk/kmkbuiltin/mkdir.c
===================================================================
--- /trunk/src/kmk/kmkbuiltin/mkdir.c	(revision 2465)
+++ /trunk/src/kmk/kmkbuiltin/mkdir.c	(revision 2466)
@@ -144,7 +144,7 @@
 		} else if (mkdir(*argv, omode) < 0) {
 			if (errno == ENOTDIR || errno == ENOENT)
-				warn("%s [mkdir]", dirname(*argv));
+				warn("mkdir: %s", dirname(*argv));
 			else
-                                warn("%s [mkdir]", *argv);
+                                warn("mkdir: %s", *argv);
 			success = 0;
 		} else if (vflag)
@@ -161,5 +161,5 @@
 		 */
 		if (success && mode != NULL && chmod(*argv, omode) == -1) {
-			warn("%s [chmod]", *argv);
+			warn("chmod: %s", *argv);
 			exitval = 1;
 		}
@@ -246,5 +246,5 @@
 			    || errno == EACCES /* (ditto) */) {
 				if (stat(path, &sb) < 0) {
-					warn("%s [stat]", path);
+					warn("stat: %s", path);
 					retval = 1;
 					break;
@@ -254,10 +254,10 @@
 					else
 						errno = ENOTDIR;
-					warn("%s [st_mode]", path);
+					warn("st_mode: %s", path);
 					retval = 1;
 					break;
 				}
 			} else {
-				warn("%s [mkdir]", path);
+				warn("mkdir: %s", path);
 				retval = 1;
 				break;
Index: /trunk/src/kmk/kmkbuiltin/rm.c
===================================================================
--- /trunk/src/kmk/kmkbuiltin/rm.c	(revision 2465)
+++ /trunk/src/kmk/kmkbuiltin/rm.c	(revision 2466)
@@ -39,5 +39,5 @@
 #endif /* not lint */
 #include <sys/cdefs.h>
-//__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.47 2004/04/06 20:06:50 markm Exp $");
+/*__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.47 2004/04/06 20:06:50 markm Exp $");*/
 #endif
 
@@ -287,8 +287,9 @@
 	}
 	while ((p = fts_read(fts)) != NULL) {
+		const char *operation = "chflags";
 		switch (p->fts_info) {
 		case FTS_DNR:
 			if (!fflag || p->fts_errno != ENOENT) {
-				fprintf(stderr, "%s: %s: %s" CUR_LINE() "\n",
+				fprintf(stderr, "fts: %s: %s: %s" CUR_LINE() "\n",
 				        argv0, p->fts_path, strerror(p->fts_errno));
 				eval = 1;
@@ -297,5 +298,5 @@
 		case FTS_ERR:
 			fts_close(fts);
-			return errx(1, "%s: %s " CUR_LINE(), p->fts_path, strerror(p->fts_errno));
+			return errx(1, "fts: %s: %s " CUR_LINE(), p->fts_path, strerror(p->fts_errno));
 		case FTS_NS:
 			/*
@@ -306,6 +307,6 @@
 				break;
 			if (!fflag || p->fts_errno != ENOENT) {
-				fprintf(stderr, "%s: %s: %s " CUR_LINE() "\n",
-				        argv0, p->fts_path, strerror(p->fts_errno), __LINE__);
+				fprintf(stderr, "fts: %s: %s: %s " CUR_LINE() "\n",
+				        argv0, p->fts_path, strerror(p->fts_errno));
 				eval = 1;
 			}
@@ -370,4 +371,5 @@
 					continue;
 				}
+				operation = "mkdir";
 				break;
 
@@ -381,4 +383,5 @@
 					continue;
 				}
+				operation = "undelete";
 				break;
 #endif
@@ -410,4 +413,6 @@
 					continue;
 				}
+				operation = "unlink";
+				break;
 			}
 		}
@@ -415,5 +420,5 @@
 err:
 #endif
-		fprintf(stderr, "%s: %s: %s " CUR_LINE() "\n", argv0, p->fts_path, strerror(errno));
+		fprintf(stderr, "%s: %s: %s: %s " CUR_LINE() "\n", operation, argv0, p->fts_path, strerror(errno));
 		eval = 1;
 	}
@@ -447,4 +452,5 @@
 	 */
 	while ((f = *argv++) != NULL) {
+		const char *operation = "?";
 		/* Assume if can't stat the file, can't unlink it. */
 		if (lstat(f, &sb)) {
@@ -457,5 +463,5 @@
 #endif
 				if (!fflag || errno != ENOENT) {
-					fprintf(stderr, "%s: %s: %s " CUR_LINE() "\n", argv0, f, strerror(errno));
+					fprintf(stderr, "lstat: %s: %s: %s " CUR_LINE() "\n", argv0, f, strerror(errno));
 					eval = 1;
 				}
@@ -485,9 +491,11 @@
 #endif
 		if (rval == 0) {
-			if (S_ISWHT(sb.st_mode))
+			if (S_ISWHT(sb.st_mode)) {
 				rval = undelete(f);
-			else if (S_ISDIR(sb.st_mode))
+				operation = "undelete";
+			} else if (S_ISDIR(sb.st_mode)) {
 				rval = rmdir(f);
-			else {
+				operation = "rmdir";
+			} else {
 				if (Pflag)
 					if (!rm_overwrite(f, &sb))
@@ -500,8 +508,9 @@
 				}
 #endif
+				operation = "unlink";
 			}
 		}
 		if (rval && (!fflag || errno != ENOENT)) {
-			fprintf(stderr, "%s: %s: %s" CUR_LINE() "\n", argv0, f, strerror(errno));
+			fprintf(stderr, "%s: %s: %s: %s" CUR_LINE() "\n", operation, argv0, f, strerror(errno));
 			eval = 1;
 		}
@@ -533,4 +542,5 @@
 	int bsize, fd, wlen;
 	char *buf = NULL;
+	const char *operation = "lstat";
 
 	fd = -1;
@@ -542,4 +552,5 @@
 	if (!S_ISREG(sbp->st_mode))
 		return (1);
+	operation = "open";
 	if ((fd = open(file, O_WRONLY, 0)) == -1)
 		goto err;
@@ -557,4 +568,5 @@
 
 #define	PASS(byte) {							\
+	operation = "write";    					\
 	memset(buf, byte, bsize);					\
 	for (len = sbp->st_size; len > 0; len -= wlen) {		\
@@ -565,7 +577,9 @@
 }
 	PASS(0xff);
+	operation = "fsync/lseek";
 	if (fsync(fd) || lseek(fd, (off_t)0, SEEK_SET))
 		goto err;
 	PASS(0x00);
+	operation = "fsync/lseek";
 	if (fsync(fd) || lseek(fd, (off_t)0, SEEK_SET))
 		goto err;
@@ -575,4 +589,5 @@
 		return (1);
 	}
+	operation = "fsync/close";
 
 err:	eval = 1;
@@ -581,5 +596,5 @@
 	if (fd != -1)
 		close(fd);
-	fprintf(stderr, "%s: %s: %s" CUR_LINE() "\n", argv0, file, strerror(errno));
+	fprintf(stderr, "%s: %s: %s: %s" CUR_LINE() "\n", operation, argv0, file, strerror(errno));
 	return (0);
 }
Index: /trunk/src/kmk/kmkbuiltin/rmdir.c
===================================================================
--- /trunk/src/kmk/kmkbuiltin/rmdir.c	(revision 2465)
+++ /trunk/src/kmk/kmkbuiltin/rmdir.c	(revision 2466)
@@ -128,5 +128,5 @@
 			if (	(!ignore_fail_on_non_empty || (errno != ENOTEMPTY && errno != EPERM && errno != EACCES && errno != EINVAL && errno != EEXIST))
 			    &&	(!ignore_fail_on_not_exist || errno != ENOENT)) {
-				warn("%s", *argv);
+				warn("rmdir: %s", *argv);
 				errors = 1;
 				continue;
@@ -181,5 +181,5 @@
 				break;
 			if (!ignore_fail_on_not_exist || errno != ENOENT) {
-				warn("%s", path);
+				warn("rmdir: %s", path);
 				return (1);
 			}
