summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2021-05-08 16:18:59 +0000
committerCarlos Garnacho <carlosg@gnome.org>2021-05-08 16:18:59 +0000
commitf02184ee8f00a4008cf9990b16afb13c6ef0da1b (patch)
tree33c610001326adfef9fbcf226c2617c604d8f1fb
parent5e612b2e55d569b8e5b228a124cf59a36d200e3d (diff)
parent7f554a2d0914abaa1ca55fe32f7528eec553728e (diff)
downloadtracker-f02184ee8f00a4008cf9990b16afb13c6ef0da1b.tar.gz
Merge branch 'pointer-sign' into 'master'
Fix signed vs unsigned pointers warnings See merge request GNOME/tracker!421
-rw-r--r--meson.build3
-rw-r--r--src/libtracker-common/tracker-term-utils.c41
-rw-r--r--src/libtracker-data/tracker-db-interface-sqlite.c3
-rw-r--r--src/libtracker-data/tracker-vtab-service.c4
-rw-r--r--src/libtracker-data/tracker-vtab-triples.c4
-rw-r--r--src/libtracker-sparql/tracker-serializer-xml.c27
6 files changed, 46 insertions, 36 deletions
diff --git a/meson.build b/meson.build
index 2bba9bf24..4968ff4b0 100644
--- a/meson.build
+++ b/meson.build
@@ -86,9 +86,6 @@ cc_warning_flags = [
'-Werror=switch',
# Too many warnings in libtracker-data/tracker-sparql-grammar.h
'-Wno-tautological-constant-out-of-range-compare',
- # There are various gchar vs. unsigned char warnings that occur in
- # extract modules, it is not worth adding casts everywhere.
- '-Wno-pointer-sign',
# Similarly there are many instances of guint vs. int comparisons.
# There would be easy but tedious to fix.
'-Wno-sign-compare',
diff --git a/src/libtracker-common/tracker-term-utils.c b/src/libtracker-common/tracker-term-utils.c
index 0ccc243d4..a6d5d3a97 100644
--- a/src/libtracker-common/tracker-term-utils.c
+++ b/src/libtracker-common/tracker-term-utils.c
@@ -28,8 +28,6 @@
#include <fcntl.h>
#include <stdio.h>
-static guint n_columns = 0;
-static guint n_rows = 0;
static GSubprocess *pager = NULL;
static gint stdout_fd = 0;
static guint signal_handler_id = 0;
@@ -77,36 +75,37 @@ tracker_term_ellipsize (const gchar *str,
return retval;
}
-static gboolean
-fd_term_dimensions (gint fd,
- gint *cols,
- gint *rows)
+static void
+fd_term_dimensions (gint fd,
+ guint *cols,
+ guint *rows)
{
- struct winsize ws = {};
-
- if (ioctl(fd, TIOCGWINSZ, &ws) < 0)
- return FALSE;
-
- if (ws.ws_col <= 0 || ws.ws_row <= 0)
- return FALSE;
+ struct winsize ws = {};
- *cols = ws.ws_col;
- *rows = ws.ws_row;
+ if (ioctl(fd, TIOCGWINSZ, &ws) < 0) {
+ *cols = 0;
+ *rows = 0;
+ }
- return TRUE;
+ *cols = ws.ws_col;
+ *rows = ws.ws_row;
}
void
tracker_term_dimensions (guint *columns,
guint *rows)
{
- if (n_columns == 0 || n_rows == 0)
+ static guint n_columns = 0;
+ static guint n_rows = 0;
+
+ if (n_columns == 0 || n_rows == 0) {
fd_term_dimensions (STDOUT_FILENO, &n_columns, &n_rows);
- if (n_columns <= 0)
- n_columns = 80;
- if (n_rows <= 0)
- n_rows = 24;
+ if (n_columns == 0)
+ n_columns = 80;
+ if (n_rows == 0)
+ n_rows = 24;
+ }
if (columns)
*columns = n_columns;
diff --git a/src/libtracker-data/tracker-db-interface-sqlite.c b/src/libtracker-data/tracker-db-interface-sqlite.c
index 5adac80be..8e97f37f0 100644
--- a/src/libtracker-data/tracker-db-interface-sqlite.c
+++ b/src/libtracker-data/tracker-db-interface-sqlite.c
@@ -59,6 +59,9 @@
#include "tracker-vtab-service.h"
#include "tracker-vtab-triples.h"
+/* Avoid casts everywhere. */
+#define sqlite3_value_text(x) ((const gchar *) sqlite3_value_text(x))
+
typedef struct {
TrackerDBStatement *head;
TrackerDBStatement *tail;
diff --git a/src/libtracker-data/tracker-vtab-service.c b/src/libtracker-data/tracker-vtab-service.c
index 469f05f4d..77e8d7c4b 100644
--- a/src/libtracker-data/tracker-vtab-service.c
+++ b/src/libtracker-data/tracker-vtab-service.c
@@ -33,6 +33,10 @@
#define COL_FIRST_PARAMETER COL_LAST
#define COL_FIRST_VARIABLE (COL_LAST + (N_PARAMETERS * 2))
+/* Avoid casts everywhere. */
+#define sqlite3_value_text(x) ((const gchar *) sqlite3_value_text(x))
+#define sqlite3_column_text(x, y) ((const gchar *) sqlite3_column_text(x, y))
+
typedef struct {
sqlite3 *db;
TrackerDataManager *data_manager;
diff --git a/src/libtracker-data/tracker-vtab-triples.c b/src/libtracker-data/tracker-vtab-triples.c
index c9a0a2f40..1ef067a68 100644
--- a/src/libtracker-data/tracker-vtab-triples.c
+++ b/src/libtracker-data/tracker-vtab-triples.c
@@ -23,6 +23,10 @@
#include "tracker-ontologies.h"
#include "tracker-vtab-triples.h"
+/* Avoid casts everywhere. */
+#define sqlite3_value_text(x) ((const gchar *) sqlite3_value_text(x))
+#define sqlite3_column_text(x, y) ((const gchar *) sqlite3_column_text(x, y))
+
/* Define some constraints for older SQLite, we will never get
* those in older versions, and simplifies checks in code.
*/
diff --git a/src/libtracker-sparql/tracker-serializer-xml.c b/src/libtracker-sparql/tracker-serializer-xml.c
index a722809bd..d2b66f83b 100644
--- a/src/libtracker-sparql/tracker-serializer-xml.c
+++ b/src/libtracker-sparql/tracker-serializer-xml.c
@@ -29,6 +29,9 @@
#include <libxml/xmlwriter.h>
+/* Make required type casts a bit more descriptive. */
+#define XML(x) ((const xmlChar *) x)
+
struct _TrackerSerializerXml
{
TrackerSerializer parent_instance;
@@ -75,15 +78,15 @@ serialize_up_to_position (TrackerSerializerXml *serializer_xml,
if (!serializer_xml->head_printed) {
xmlTextWriterStartDocument (serializer_xml->writer, "1.0", "UTF-8", NULL);
- xmlTextWriterStartElement (serializer_xml->writer, "sparql");
+ xmlTextWriterStartElement (serializer_xml->writer, XML ("sparql"));
- xmlTextWriterStartElement (serializer_xml->writer, "head");
+ xmlTextWriterStartElement (serializer_xml->writer, XML ("head"));
for (i = 0; i < tracker_sparql_cursor_get_n_columns (cursor); i++) {
const gchar *var;
var = tracker_sparql_cursor_get_variable_name (cursor, i);
- xmlTextWriterStartElement (serializer_xml->writer, "variable");
+ xmlTextWriterStartElement (serializer_xml->writer, XML ("variable"));
if (var && *var) {
g_ptr_array_add (serializer_xml->vars,
@@ -94,14 +97,14 @@ serialize_up_to_position (TrackerSerializerXml *serializer_xml,
}
xmlTextWriterWriteFormatAttribute (serializer_xml->writer,
- "name",
+ XML ("name"),
"%s",
- (gchar *) g_ptr_array_index (serializer_xml->vars, i));
+ g_ptr_array_index (serializer_xml->vars, i));
xmlTextWriterEndElement (serializer_xml->writer);
}
xmlTextWriterEndElement (serializer_xml->writer);
- xmlTextWriterStartElement (serializer_xml->writer, "results");
+ xmlTextWriterStartElement (serializer_xml->writer, XML ("results"));
serializer_xml->head_printed = TRUE;
}
@@ -122,7 +125,7 @@ serialize_up_to_position (TrackerSerializerXml *serializer_xml,
serializer_xml->cursor_started = TRUE;
}
- xmlTextWriterStartElement (serializer_xml->writer, "result");
+ xmlTextWriterStartElement (serializer_xml->writer, XML ("result"));
for (i = 0; i < tracker_sparql_cursor_get_n_columns (cursor); i++) {
const gchar *var, *str, *type = NULL, *datatype = NULL;
@@ -157,17 +160,17 @@ serialize_up_to_position (TrackerSerializerXml *serializer_xml,
var = g_ptr_array_index (serializer_xml->vars, i);
- xmlTextWriterStartElement (serializer_xml->writer, "binding");
+ xmlTextWriterStartElement (serializer_xml->writer, XML ("binding"));
xmlTextWriterWriteFormatAttribute (serializer_xml->writer,
- "name",
+ XML ("name"),
"%s",
var);
- xmlTextWriterStartElement (serializer_xml->writer, type);
+ xmlTextWriterStartElement (serializer_xml->writer, XML (type));
if (datatype) {
xmlTextWriterWriteFormatAttribute (serializer_xml->writer,
- "datatype",
+ XML ("datatype"),
"%s",
datatype);
}
@@ -175,7 +178,7 @@ serialize_up_to_position (TrackerSerializerXml *serializer_xml,
str = tracker_sparql_cursor_get_string (cursor, i, NULL);
if (str) {
- xmlTextWriterWriteRaw (serializer_xml->writer, str);
+ xmlTextWriterWriteRaw (serializer_xml->writer, XML (str));
}
xmlTextWriterEndElement (serializer_xml->writer);