mirror of
https://github.com/owntone/owntone-server.git
synced 2025-04-13 15:59:50 -04:00
Use the new ANTLR parser for RSP queries
This commit is contained in:
parent
f9d9964914
commit
91e34a77c8
@ -509,22 +509,9 @@ rsp_reply_playlist(struct evhttp_request *req, char **uri, struct evkeyvalq *que
|
|||||||
{
|
{
|
||||||
DPRINTF(E_DBG, L_RSP, "RSP browse query filter: %s\n", param);
|
DPRINTF(E_DBG, L_RSP, "RSP browse query filter: %s\n", param);
|
||||||
|
|
||||||
qi.pt = sp_init();
|
qi.filter = rsp_query_parse_sql(param);
|
||||||
if (!qi.pt)
|
if (!qi.filter)
|
||||||
{
|
DPRINTF(E_LOG, L_RSP, "Ignoring improper RSP query\n");
|
||||||
DPRINTF(E_LOG, L_RSP, "Could not init query filter\n");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ret = sp_parse(qi.pt, param, FILTER_TYPE_FIREFLY);
|
|
||||||
if (ret != 1)
|
|
||||||
{
|
|
||||||
DPRINTF(E_LOG, L_RSP, "Ignoring improper query: %s\n", sp_get_error(qi.pt));
|
|
||||||
|
|
||||||
sp_dispose(qi.pt);
|
|
||||||
qi.pt = NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = db_enum_start(&db_errmsg, &qi);
|
ret = db_enum_start(&db_errmsg, &qi);
|
||||||
@ -534,8 +521,8 @@ rsp_reply_playlist(struct evhttp_request *req, char **uri, struct evkeyvalq *que
|
|||||||
|
|
||||||
rsp_send_error(req, db_errmsg);
|
rsp_send_error(req, db_errmsg);
|
||||||
|
|
||||||
if (qi.pt)
|
if (qi.filter)
|
||||||
sp_dispose(qi.pt);
|
free(qi.filter);
|
||||||
free(db_errmsg);
|
free(db_errmsg);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -629,8 +616,8 @@ rsp_reply_playlist(struct evhttp_request *req, char **uri, struct evkeyvalq *que
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (qi.pt)
|
if (qi.filter)
|
||||||
sp_dispose(qi.pt);
|
free(qi.filter);
|
||||||
|
|
||||||
if (ret != DB_E_SUCCESS)
|
if (ret != DB_E_SUCCESS)
|
||||||
{
|
{
|
||||||
@ -763,22 +750,9 @@ rsp_reply_browse(struct evhttp_request *req, char **uri, struct evkeyvalq *query
|
|||||||
{
|
{
|
||||||
DPRINTF(E_DBG, L_RSP, "RSP browse query filter: %s\n", param);
|
DPRINTF(E_DBG, L_RSP, "RSP browse query filter: %s\n", param);
|
||||||
|
|
||||||
qi.pt = sp_init();
|
qi.filter = rsp_query_parse_sql(param);
|
||||||
if (!qi.pt)
|
if (!qi.filter)
|
||||||
{
|
DPRINTF(E_LOG, L_RSP, "Ignoring improper RSP query\n");
|
||||||
DPRINTF(E_LOG, L_RSP, "Could not init query filter\n");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ret = sp_parse(qi.pt, param, FILTER_TYPE_FIREFLY);
|
|
||||||
if (ret != 1)
|
|
||||||
{
|
|
||||||
DPRINTF(E_LOG, L_RSP, "Ignoring improper query: %s\n", sp_get_error(qi.pt));
|
|
||||||
|
|
||||||
sp_dispose(qi.pt);
|
|
||||||
qi.pt = NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = db_enum_start(&db_errmsg, &qi);
|
ret = db_enum_start(&db_errmsg, &qi);
|
||||||
@ -788,8 +762,8 @@ rsp_reply_browse(struct evhttp_request *req, char **uri, struct evkeyvalq *query
|
|||||||
|
|
||||||
rsp_send_error(req, db_errmsg);
|
rsp_send_error(req, db_errmsg);
|
||||||
|
|
||||||
if (qi.pt)
|
if (qi.filter)
|
||||||
sp_dispose(qi.pt);
|
free(qi.filter);
|
||||||
free(db_errmsg);
|
free(db_errmsg);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -830,8 +804,8 @@ rsp_reply_browse(struct evhttp_request *req, char **uri, struct evkeyvalq *query
|
|||||||
mxmlNewText(node, 0, dbmfi->id);
|
mxmlNewText(node, 0, dbmfi->id);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (qi.pt)
|
if (qi.filter)
|
||||||
sp_dispose(qi.pt);
|
free(qi.filter);
|
||||||
|
|
||||||
if (ret != DB_E_SUCCESS)
|
if (ret != DB_E_SUCCESS)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user