X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=aft.c;h=16de67634677c4ba75774bc9453ae427f4581a13;hb=79bfc7a2a6577000c405be6344ba91ec3f8745e9;hp=42153d46b09bcdc4198d4564290a51cc2f636ebe;hpb=2909afc63e70c46fe4f9384c8d4df10bac60026e;p=paraslash.git diff --git a/aft.c b/aft.c index 42153d46..16de6763 100644 --- a/aft.c +++ b/aft.c @@ -1344,9 +1344,7 @@ static void com_ls_callback(int fd, const struct osl_object *query) goto out; } out: - if (b.offset) - pass_buffer_as_shm(fd, SBD_OUTPUT, b.buf, b.offset); - free(b.buf); + flush_and_free_pb(&b); free(opts->data); free(opts->data_ptr); free(opts->patterns); @@ -1739,9 +1737,7 @@ static void com_add_callback(int fd, const struct osl_object *query) out: if (ret < 0) para_printf(&msg, "%s\n", para_strerror(-ret)); - if (msg.offset) - pass_buffer_as_shm(fd, SBD_OUTPUT, msg.buf, msg.offset); - free(msg.buf); + flush_and_free_pb(&msg); } /** Used by com_add(). */ @@ -2042,9 +2038,7 @@ static void com_touch_callback(int fd, const struct osl_object *query) para_printf(&tad.pb, "%s\n", para_strerror(-ret)); else if (pmd.num_matches == 0) para_printf(&tad.pb, "no matches\n"); - if (tad.pb.offset) - pass_buffer_as_shm(fd, SBD_OUTPUT, tad.pb.buf, tad.pb.offset); - free(tad.pb.buf); + flush_and_free_pb(&tad.pb); } int com_touch(struct command_context *cc) @@ -2187,9 +2181,7 @@ static void com_rm_callback(int fd, const struct osl_object *query) para_printf(&crd.pb, "no matches -- nothing removed\n"); else if (crd.flags & RM_FLAG_VERBOSE) para_printf(&crd.pb, "removed %u files\n", pmd.num_matches); - if (ret >= 0 && crd.pb.offset) - pass_buffer_as_shm(fd, SBD_OUTPUT, crd.pb.buf, crd.pb.offset); - free(crd.pb.buf); + flush_and_free_pb(&crd.pb); } /* TODO options: -r (recursive) */ @@ -2332,9 +2324,7 @@ out: "to %u files\n", source_path, pmd.num_matches); } else para_printf(&cad.pb, "no matches - nothing copied\n"); - if (cad.pb.offset) - pass_buffer_as_shm(fd, SBD_OUTPUT, cad.pb.buf, cad.pb.offset); - free(cad.pb.buf); + flush_and_free_pb(&cad.pb); } int com_cpsi(struct command_context *cc) @@ -2479,9 +2469,7 @@ static void com_setatt_callback(int fd, const struct osl_object *query) out: if (ret < 0) para_printf(&cad.pb, "%s\n", para_strerror(-ret)); - if (cad.pb.offset) - pass_buffer_as_shm(fd, SBD_OUTPUT, cad.pb.buf, cad.pb.offset); - free(cad.pb.buf); + flush_and_free_pb(&cad.pb); } int com_setatt(struct command_context *cc) @@ -2582,9 +2570,7 @@ void aft_check_callback(int fd, __a_unused const struct osl_object *query) }; para_printf(&pb, "checking audio file table...\n"); audio_file_loop(&pb, check_audio_file); - if (pb.offset) - pass_buffer_as_shm(fd, SBD_OUTPUT, pb.buf, pb.offset); - free(pb.buf); + flush_and_free_pb(&pb); } /**