[pacman-dev] [PATCH v2] graph.h: replace hardcoded values with an enum

Andrew Gregory andrew.gregory.8 at gmail.com
Sun Apr 16 12:29:32 UTC 2017


Signed-off-by: Andrew Gregory <andrew.gregory.8 at gmail.com>
---

Removed explicit enum values since they don't matter and converted the state
field type to enum.

 lib/libalpm/delta.c |  4 ++--
 lib/libalpm/deps.c  | 10 +++++-----
 lib/libalpm/graph.h |  8 +++++++-
 3 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/lib/libalpm/delta.c b/lib/libalpm/delta.c
index c5571b29..58b1b41e 100644
--- a/lib/libalpm/delta.c
+++ b/lib/libalpm/delta.c
@@ -130,7 +130,7 @@ static void dijkstra(alpm_list_t *vertices)
 		for(i = vertices; i; i = i->next) {
 			alpm_graph_t *v_i = i->data;
 
-			if(v_i->state == -1) {
+			if(v_i->state == ALPM_GRAPH_STATE_PROCESSING) {
 				continue;
 			}
 
@@ -142,7 +142,7 @@ static void dijkstra(alpm_list_t *vertices)
 			break;
 		}
 
-		v->state = -1;
+		v->state = ALPM_GRAPH_STATE_PROCESSING;
 
 		v->childptr = v->children;
 		while(v->childptr) {
diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c
index 40b2be6d..e5527d6c 100644
--- a/lib/libalpm/deps.c
+++ b/lib/libalpm/deps.c
@@ -194,16 +194,16 @@ alpm_list_t *_alpm_sortbydeps(alpm_handle_t *handle,
 	vertex = vertices->data;
 	while(vptr) {
 		/* mark that we touched the vertex */
-		vertex->state = -1;
+		vertex->state = ALPM_GRAPH_STATE_PROCESSING;
 		int found = 0;
 		while(vertex->childptr && !found) {
 			alpm_graph_t *nextchild = vertex->childptr->data;
 			vertex->childptr = vertex->childptr->next;
-			if(nextchild->state == 0) {
+			if(nextchild->state == ALPM_GRAPH_STATE_UNPROCESSED) {
 				found = 1;
 				nextchild->parent = vertex;
 				vertex = nextchild;
-			} else if(nextchild->state == -1) {
+			} else if(nextchild->state == ALPM_GRAPH_STATE_PROCESSING) {
 				/* child is an ancestor of vertex */
 				alpm_graph_t *transvertex = vertex;
 
@@ -244,13 +244,13 @@ alpm_list_t *_alpm_sortbydeps(alpm_handle_t *handle,
 				newtargs = alpm_list_add(newtargs, vertex->data);
 			}
 			/* mark that we've left this vertex */
-			vertex->state = 1;
+			vertex->state = ALPM_GRAPH_STATE_PROCESSED;
 			vertex = vertex->parent;
 			if(!vertex) {
 				/* top level vertex reached, move to the next unprocessed vertex */
 				for( vptr = vptr->next; vptr; vptr = vptr->next) {
 					vertex = vptr->data;
-					if(vertex->state == 0) {
+					if(vertex->state == ALPM_GRAPH_STATE_UNPROCESSED) {
 						break;
 					}
 				}
diff --git a/lib/libalpm/graph.h b/lib/libalpm/graph.h
index 2e9eac10..233862b9 100644
--- a/lib/libalpm/graph.h
+++ b/lib/libalpm/graph.h
@@ -23,13 +23,19 @@
 
 #include "alpm_list.h"
 
+enum __alpm_graph_vertex_state {
+	ALPM_GRAPH_STATE_UNPROCESSED,
+	ALPM_GRAPH_STATE_PROCESSING,
+	ALPM_GRAPH_STATE_PROCESSED
+};
+
 typedef struct __alpm_graph_t {
 	void *data;
 	struct __alpm_graph_t *parent; /* where did we come from? */
 	alpm_list_t *children;
 	alpm_list_t *childptr; /* points to a child in children list */
 	off_t weight; /* weight of the node */
-	signed char state; /* 0: untouched, -1: entered, other: leaving time */
+	enum __alpm_graph_vertex_state state;
 } alpm_graph_t;
 
 alpm_graph_t *_alpm_graph_new(void);
-- 
2.12.2


More information about the pacman-dev mailing list