X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=daemon%2Fcpmv.c;h=e5457d65835fcb51b567b29d21e1cd70cf06553a;hp=4fdee6bd4f10f1207f1903ee4219cd125cdca603;hb=cbc6b720a4e58d32b6089db05288f4a468742b47;hpb=6bda071b5cd8393b37653687027c4ae6c6cf3804 diff --git a/daemon/cpmv.c b/daemon/cpmv.c index 4fdee6b..e5457d6 100644 --- a/daemon/cpmv.c +++ b/daemon/cpmv.c @@ -1,5 +1,5 @@ /* libguestfs - the guestfsd daemon - * Copyright (C) 2009 Red Hat Inc. + * Copyright (C) 2009-2011 Red Hat Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,19 +28,19 @@ static int cpmv_cmd (const char *cmd, const char *flags, const char *src, const char *dest); int -do_cp (char *src, char *dest) +do_cp (const char *src, const char *dest) { return cpmv_cmd ("cp", NULL, src, dest); } int -do_cp_a (char *src, char *dest) +do_cp_a (const char *src, const char *dest) { return cpmv_cmd ("cp", "-a", src, dest); } int -do_mv (char *src, char *dest) +do_mv (const char *src, const char *dest) { return cpmv_cmd ("mv", NULL, src, dest); } @@ -52,10 +52,6 @@ cpmv_cmd (const char *cmd, const char *flags, const char *src, const char *dest) char *err; int r; - NEED_ROOT (return -1); - ABS_PATH (src, return -1); - ABS_PATH (dest, return -1); - srcbuf = sysroot_path (src); if (srcbuf == NULL) { reply_with_perror ("malloc"); @@ -69,6 +65,8 @@ cpmv_cmd (const char *cmd, const char *flags, const char *src, const char *dest) return -1; } + pulse_mode_start (); + if (flags) r = command (NULL, &err, cmd, flags, srcbuf, destbuf, NULL); else @@ -78,11 +76,14 @@ cpmv_cmd (const char *cmd, const char *flags, const char *src, const char *dest) free (destbuf); if (r == -1) { - reply_with_error ("%s: %s", cmd, err); + pulse_mode_cancel (); + reply_with_error ("%s", err); free (err); return -1; } free (err); + pulse_mode_end (); + return 0; }