On Wed, Sep 30, 2015 at 10:38:57AM +0200, Pino Toscano wrote:
 ---
  src/copy-in-out.c | 6 ++++++
  1 file changed, 6 insertions(+)
 
 diff --git a/src/copy-in-out.c b/src/copy-in-out.c
 index d5e7fb0..89344d8 100644
 --- a/src/copy-in-out.c
 +++ b/src/copy-in-out.c
 @@ -46,6 +46,12 @@ guestfs_impl_copy_in (guestfs_h *g,
    size_t buf_len = strlen (localpath) + 1;
    char buf[buf_len];
    const char *dirname, *basename;
 +  struct stat statbuf;
 +
 +  if (stat (localpath, &statbuf) == -1) {
 +    error (g, _("source '%s' does not exist (or cannot be read)"),
localpath);
 +    return -1;
 +  }
  
    int remote_is_dir = guestfs_is_dir (g, remotedir);
    if (remote_is_dir == -1)
 -- 
 2.1.0 
ACK, probably.  The current message isn't too bad:
$ ./run guestfish -N fs -m /dev/sda1 copy-in /tmp/foobar /
libguestfs: error: tar subprocess failed: tar: foobar: Cannot stat: No such file or
directory
tar: Exiting with failure status due to previous errors
Rich.
-- 
Richard Jones, Virtualization Group, Red Hat 
http://people.redhat.com/~rjones
Read my programming and virtualization blog: 
http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/