]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - aft.c
com_setatt(): Return negative on errors
[paraslash.git] / aft.c
diff --git a/aft.c b/aft.c
index bfee23d9790ba6b10b115edfbdf01ff72cc23a39..c255b245fdf0209f0c8b09ba0b28310fddcb8fa5 100644 (file)
--- a/aft.c
+++ b/aft.c
@@ -2310,23 +2310,23 @@ static int com_cpsi_callback(int fd, const struct osl_object *query)
        if (ret < 0)
                goto out;
        ret = for_each_matching_row(&pmd);
-out:
        if (ret < 0)
-               para_printf(&cad.pb, "%s\n", para_strerror(-ret));
-       else if (pmd.num_matches > 0) {
+               goto out;
+       if (pmd.num_matches > 0) {
                if (cad.flags & CPSI_FLAG_VERBOSE)
-                       para_printf(&cad.pb, "copied requested afsi from %s "
-                               "to %u files\n", source_path, pmd.num_matches);
+                       para_printf(&cad.pb, "updated afsi of %u file(s)\n",
+                               pmd.num_matches);
        } else
-               para_printf(&cad.pb, "no matches - nothing copied\n");
+               ret = -E_NO_MATCH;
+out:
        flush_and_free_pb(&cad.pb);
-       return 0;
+       return ret;
 }
 
 int com_cpsi(struct command_context *cc)
 {
        unsigned flags = 0;
-       int i, ret;
+       int i;
        struct osl_object options = {.data = &flags, .size = sizeof(flags)};
 
        for (i = 1; i < cc->argc; i++) {
@@ -2367,11 +2367,8 @@ int com_cpsi(struct command_context *cc)
                return -E_AFT_SYNTAX;
        if (!(flags & ~CPSI_FLAG_VERBOSE)) /* no copy flags given */
                flags = ~(unsigned)CPSI_FLAG_VERBOSE | flags;
-       ret = send_option_arg_callback_request(&options, cc->argc - i,
+       return send_option_arg_callback_request(&options, cc->argc - i,
                cc->argv + i, com_cpsi_callback, afs_cb_result_handler, cc);
-       if (ret < 0)
-               send_strerror(cc, -ret);
-       return ret;
 }
 
 struct change_atts_data {
@@ -2461,12 +2458,10 @@ static int com_setatt_callback(int fd, const struct osl_object *query)
        if (ret < 0)
                goto out;
        if (pmd.num_matches == 0)
-               para_printf(&cad.pb, "no matches\n");
+               ret = -E_NO_MATCH;
 out:
-       if (ret < 0)
-               para_printf(&cad.pb, "%s\n", para_strerror(-ret));
        flush_and_free_pb(&cad.pb);
-       return 0;
+       return ret;
 }
 
 int com_setatt(struct command_context *cc)