struct com_touch_options *cto;
/** Message buffer. */
struct para_buffer pb;
+ /** How many audio files matched the given pattern. */
+ unsigned num_matches;
};
static int touch_audio_file(__a_unused struct osl_table *table,
if (tad->cto->last_played >= 0)
new_afsi.last_played = tad->cto->last_played;
}
+ tad->num_matches++;
save_afsi(&new_afsi, &obj); /* in-place update */
aced.aft_row = row;
aced.old_afsi = &old_afsi;
ret = for_each_matching_row(&pmd);
if (ret < 0)
para_printf(&tad.pb, "%s\n", para_strerror(-ret));
+ else
+ if (!tad.num_matches)
+ para_printf(&tad.pb, "no matches\n");
if (tad.pb.buf) {
result->data = tad.pb.buf;
result->size = tad.pb.size;
return -E_AFT_SYNTAX;
ret = send_option_arg_callback_request(&query, argc - i,
argv + i, com_touch_callback, &result);
- if (ret > 0) {
- send_buffer(fd, (char *)result.data);
- free(result.data);
- } else if (ret < 0)
+ if (!ret)
+ return 0;
+ if (ret < 0) {
send_va_buffer(fd, "%s\n", para_strerror(-ret));
+ return ret;
+ }
+ ret = send_buffer(fd, (char *)result.data);
+ free(result.data);
return ret;
}
return -E_AFT_SYNTAX;
ret = send_option_arg_callback_request(&query, argc - i, argv + i,
com_rm_callback, &result);
- if (ret > 0) {
- send_buffer(fd, (char *)result.data);
- free(result.data);
- } else if (ret < 0)
+ if (!ret)
+ return 0;
+ if (ret < 0) {
send_va_buffer(fd, "%s\n", para_strerror(-ret));
+ return ret;
+ }
+ ret = send_buffer(fd, (char *)result.data);
+ free(result.data);
return ret;
}
flags = ~(unsigned)CPSI_FLAG_VERBOSE | flags;
ret = send_option_arg_callback_request(&options, argc - i, argv + i,
com_cpsi_callback, &result);
- if (ret > 0) {
- send_buffer(fd, (char *)result.data);
- free(result.data);
- } else
+ if (!ret)
+ return 0;
+ if (ret < 0) {
send_va_buffer(fd, "%s\n", para_strerror(-ret));
+ return ret;
+ }
+ ret = send_buffer(fd, (char *)result.data);
+ free(result.data);
return ret;
}