char *condition = NULL;
char buf[MAX_QUERY_LEN] = { '\0' };
char tmp_query[MAX_QUERY_LEN] = { '\0' };
+ static const char query_pkg_disable[] = " AND ai.package IN "
+ "(SELECT package FROM package_info WHERE package_disable='false')";
GSList *list;
- if (filter == NULL)
- return PMINFO_R_OK;
-
len += strlen(" WHERE 1=1");
strncat(buf, " WHERE 1=1", MAX_QUERY_LEN - len - 1);
+
+ if (filter == NULL) {
+ strncat(buf, query_pkg_disable, MAX_QUERY_LEN - len - 1);
+ *query = strdup(buf);
+ return PMINFO_R_OK;
+ }
+
for (list = filter->list; list; list = list->next) {
joined |= __get_filter_condition(list->data, &condition, bind_params);
if (condition == NULL)
}
strncat(tmp_query, buf, MAX_QUERY_LEN - len - 1);
+ len += strlen(buf);
+ strncat(tmp_query, query_pkg_disable, MAX_QUERY_LEN - len - 1);
+
*query = strdup(tmp_query);
if (*query == NULL)
return PMINFO_R_ERROR;