mirror of https://github.com/djcb/mu.git
* mu-cmd-find.c: update for GErrors in mu_query; fix uninit'd var problem
This commit is contained in:
parent
b87b5d25fd
commit
e5089c06a3
|
@ -57,10 +57,18 @@ static gboolean
|
||||||
print_xapian_query (MuQuery *xapian, const gchar *query)
|
print_xapian_query (MuQuery *xapian, const gchar *query)
|
||||||
{
|
{
|
||||||
char *querystr;
|
char *querystr;
|
||||||
|
GError *err;
|
||||||
MU_WRITE_LOG ("query: '%s' (xquery)", query);
|
|
||||||
|
|
||||||
querystr = mu_query_as_string (xapian, query);
|
MU_WRITE_LOG ("query: '%s' (xquery)", query);
|
||||||
|
|
||||||
|
err = NULL;
|
||||||
|
querystr = mu_query_as_string (xapian, query, &err);
|
||||||
|
if (!querystr) {
|
||||||
|
g_warning ("Error: %s", err->message);
|
||||||
|
g_error_free (err);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
g_print ("%s\n", querystr);
|
g_print ("%s\n", querystr);
|
||||||
g_free (querystr);
|
g_free (querystr);
|
||||||
|
|
||||||
|
@ -132,6 +140,7 @@ make_links (MuMsgIter *iter, const char* linksdir, gboolean clearlinks)
|
||||||
static gboolean
|
static gboolean
|
||||||
run_query (MuQuery *xapian, const gchar *query, MuConfigOptions *opts)
|
run_query (MuQuery *xapian, const gchar *query, MuConfigOptions *opts)
|
||||||
{
|
{
|
||||||
|
GError *err;
|
||||||
MuMsgIter *iter;
|
MuMsgIter *iter;
|
||||||
MuMsgFieldId sortid;
|
MuMsgFieldId sortid;
|
||||||
size_t matches;
|
size_t matches;
|
||||||
|
@ -142,11 +151,13 @@ run_query (MuQuery *xapian, const gchar *query, MuConfigOptions *opts)
|
||||||
if (sortid == MU_MSG_FIELD_ID_NONE) /* error occured? */
|
if (sortid == MU_MSG_FIELD_ID_NONE) /* error occured? */
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = NULL;
|
||||||
iter = mu_query_run (xapian, query, sortid,
|
iter = mu_query_run (xapian, query, sortid,
|
||||||
opts->descending ? FALSE : TRUE, 0);
|
opts->descending ? FALSE : TRUE, 0, &err);
|
||||||
if (!iter) {
|
if (!iter) {
|
||||||
g_printerr ("error: running query failed\n");
|
g_warning ("Error: %s", err->message);
|
||||||
|
g_error_free (err);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -224,9 +235,13 @@ get_query (MuConfigOptions *opts)
|
||||||
g_warning ("Empty search query");
|
g_warning ("Empty search query");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opts->bookmark && ((bookmarkval = resolve_bookmark (opts)) == NULL))
|
bookmarkval = NULL;
|
||||||
return NULL;
|
if (opts->bookmark) {
|
||||||
|
bookmarkval = resolve_bookmark (opts);
|
||||||
|
if (!bookmarkval)
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
query = mu_util_str_from_strv ((const gchar**)&opts->params[1]);
|
query = mu_util_str_from_strv ((const gchar**)&opts->params[1]);
|
||||||
if (bookmarkval) {
|
if (bookmarkval) {
|
||||||
|
@ -262,6 +277,7 @@ db_is_ready (const char *xpath)
|
||||||
gboolean
|
gboolean
|
||||||
mu_cmd_find (MuConfigOptions *opts)
|
mu_cmd_find (MuConfigOptions *opts)
|
||||||
{
|
{
|
||||||
|
GError *err;
|
||||||
MuQuery *xapian;
|
MuQuery *xapian;
|
||||||
gboolean rv;
|
gboolean rv;
|
||||||
gchar *query;
|
gchar *query;
|
||||||
|
@ -281,10 +297,12 @@ mu_cmd_find (MuConfigOptions *opts)
|
||||||
query = get_query (opts);
|
query = get_query (opts);
|
||||||
if (!query)
|
if (!query)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
xapian = mu_query_new (xpath);
|
err = NULL;
|
||||||
|
xapian = mu_query_new (xpath, &err);
|
||||||
if (!xapian) {
|
if (!xapian) {
|
||||||
g_warning ("Failed to create a Xapian query\n");
|
g_warning ("Error: %s", err->message);
|
||||||
|
g_error_free (err);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue