static int deferred_push_cursor_manager_list_deferred_query_subsearch(
      menu_displaylist_info_t *info)
{
   int ret                       = -1;
#ifdef HAVE_LIBRETRODB
   char query[PATH_MAX_LENGTH]   = {0};
   struct string_list *str_list  = string_split(info->path, "|"); 

   database_info_build_query(query, sizeof(query),
         info->label, str_list->elems[0].data);

   if (string_is_empty(query))
      goto end;

   strlcpy(info->path,   str_list->elems[1].data, sizeof(info->path));
   strlcpy(info->path_b,    str_list->elems[0].data, sizeof(info->path_b));
   strlcpy(info->path_c,    query, sizeof(info->path_c));

   ret = deferred_push_dlist(info, DISPLAYLIST_DATABASE_QUERY);

end:
   if (str_list)
      string_list_free(str_list);
#endif
   return ret;
}
Пример #2
0
static int deferred_push_cursor_manager_list_deferred_query_subsearch(menu_displaylist_info_t *info)
{
#ifdef HAVE_LIBRETRODB
    int ret;
    char query[PATH_MAX_LENGTH]   = {0};
    struct string_list *str_list  = string_split(info->path, "|");

    database_info_build_query(query, sizeof(query), info->label, str_list->elems[0].data);

    if (query[0] == '\0')
    {
        string_list_free(str_list);
        return -1;
    }

    strlcpy(info->path,   str_list->elems[1].data, sizeof(info->path));
    strlcpy(info->path_b,    str_list->elems[0].data, sizeof(info->path_b));
    strlcpy(info->path_c,    query, sizeof(info->path_c));

    ret = menu_displaylist_push_list(info, DISPLAYLIST_DATABASE_QUERY);

    string_list_free(str_list);

    return ret;
#else
    return 0;
#endif
}