[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