Add output path to cp error message filenames.
diff --git a/toys/posix/cp.c b/toys/posix/cp.c
index ea1ef6f..d21af2f 100644
--- a/toys/posix/cp.c
+++ b/toys/posix/cp.c
@@ -345,7 +345,19 @@
         err = "%s";
   }
 
-  if (err) perror_msg(err, catch);
+  if (err) {
+    char *f = 0;
+
+    if (catch == try->name) {
+      f = dirtree_path(try, 0);
+      while (try->parent) try = try->parent;
+      catch = xmprintf("%s%s", TT.destname, f+strlen(try->name));
+      free(f);
+      f = catch;
+    }
+    perror_msg(err, catch);
+    free(f);
+  }
   return 0;
 }