summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
32c51e5)
callbacks shall return zero or negative, if no result is provided. So let
com_ls_callback() return zero if no match was found, or if the audio file table
does not contain any entries. Check for ret > 0 in com_add() instead of ret >=
0, i.e. don't use the result pointer if ret is zero.
prepare_ls_row);
if (ret < 0)
goto out;
prepare_ls_row);
if (ret < 0)
goto out;
- ret = opts->num_patterns? -E_NO_MATCH : 1;
+ ret = opts->num_patterns? -E_NO_MATCH : 0;
if (!opts->num_matching_paths) {
PARA_NOTICE_LOG("no match, ret: %d\n", ret);
goto out;
if (!opts->num_matching_paths) {
PARA_NOTICE_LOG("no match, ret: %d\n", ret);
goto out;
ret = 1;
out:
ls_output->data = b.buf;
ret = 1;
out:
ls_output->data = b.buf;
+ PARA_NOTICE_LOG("ls_outoute.data: %p\n", ls_output->data);
ls_output->size = b.size;
free(opts->data);
free(opts->data_ptr);
ls_output->size = b.size;
free(opts->data);
free(opts->data_ptr);
opts.num_patterns = argc - i;
ret = send_option_arg_callback_request(&query, opts.num_patterns,
argv + i, com_ls_callback, &ls_output);
opts.num_patterns = argc - i;
ret = send_option_arg_callback_request(&query, opts.num_patterns,
argv + i, com_ls_callback, &ls_output);
- if (ret >= 0 && ls_output.data) {
- send_buffer(fd, (char *)ls_output.data);
+ if (ret > 0) {
+ ret = send_buffer(fd, (char *)ls_output.data);
free(ls_output.data);
}
return ret;
free(ls_output.data);
}
return ret;