From 875c017e4d74bd29bc7424c2c7ff2050f90b7767 Mon Sep 17 00:00:00 2001 From: Rikard Falkeborn Date: Thu, 31 Dec 2015 14:19:29 +0100 Subject: Make alpm_graph state signedness explicit The signedness of char is implementation defined. Since the alpm_graph state is clearly meant to be signed, make the signedness explicit. This fixes bugs on systems where char is unsigned, in comparissons of the following type: if(v.state == -1) which, if state is unsigned, will never be true due to integer promotion rules. Fixes failing test/pacman/tests/sync012.py when compiling with -funsigned-char. Fixes two warnings [-Wtype-limits] for comparissons with -1 when compiling with -funsigned-char. Signed-off-by: Rikard Falkeborn Signed-off-by: Allan McRae --- lib/libalpm/graph.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/libalpm') diff --git a/lib/libalpm/graph.h b/lib/libalpm/graph.h index fb27ea87..76a268a5 100644 --- a/lib/libalpm/graph.h +++ b/lib/libalpm/graph.h @@ -29,7 +29,7 @@ typedef struct __alpm_graph_t { alpm_list_t *children; alpm_list_t *childptr; /* points to a child in children list */ off_t weight; /* weight of the node */ - char state; /* 0: untouched, -1: entered, other: leaving time */ + signed char state; /* 0: untouched, -1: entered, other: leaving time */ } alpm_graph_t; alpm_graph_t *_alpm_graph_new(void); -- cgit v1.2.3-70-g09d2