correct gcc warnings
This commit is contained in:
2
Makefile
2
Makefile
@@ -14,7 +14,7 @@ LIB_OBJECTS := $(patsubst %.c, %.o, $(LIB_SOURCES))
|
|||||||
TEST_OBJECTS := $(patsubst %.c, %.o, $(TEST_SOURCES))
|
TEST_OBJECTS := $(patsubst %.c, %.o, $(TEST_SOURCES))
|
||||||
|
|
||||||
ifeq ($(DEBUG), 1)
|
ifeq ($(DEBUG), 1)
|
||||||
CFLAGS := -fPIC -g3 -D__DEBUG__
|
CFLAGS := -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wconversion -fPIC -g3 -D__DEBUG__
|
||||||
else
|
else
|
||||||
CFLAGS := -fPIC
|
CFLAGS := -fPIC
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -77,10 +77,10 @@
|
|||||||
* Utility functions
|
* Utility functions
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
int cyberiada_copy_string(char** target, unsigned int* size, const char* source)
|
static int cyberiada_copy_string(char** target, size_t* size, const char* source)
|
||||||
{
|
{
|
||||||
char* target_str;
|
char* target_str;
|
||||||
unsigned int strsize;
|
size_t strsize;
|
||||||
if (!source)
|
if (!source)
|
||||||
return CYBERIADA_BAD_PARAMETER;
|
return CYBERIADA_BAD_PARAMETER;
|
||||||
strsize = strlen(source);
|
strsize = strlen(source);
|
||||||
@@ -99,7 +99,7 @@ int cyberiada_copy_string(char** target, unsigned int* size, const char* source)
|
|||||||
* Graph manipulation functions
|
* Graph manipulation functions
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
CyberiadaNode* cyberiada_graph_find_node(CyberiadaNode* root, const char* id)
|
static CyberiadaNode* cyberiada_graph_find_node(CyberiadaNode* root, const char* id)
|
||||||
{
|
{
|
||||||
CyberiadaNode* node;
|
CyberiadaNode* node;
|
||||||
CyberiadaNode* found;
|
CyberiadaNode* found;
|
||||||
@@ -117,7 +117,7 @@ CyberiadaNode* cyberiada_graph_find_node(CyberiadaNode* root, const char* id)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
CyberiadaNode* cyberiada_new_node(const char* id)
|
static CyberiadaNode* cyberiada_new_node(const char* id)
|
||||||
{
|
{
|
||||||
CyberiadaNode* new_node = (CyberiadaNode*)malloc(sizeof(CyberiadaNode));
|
CyberiadaNode* new_node = (CyberiadaNode*)malloc(sizeof(CyberiadaNode));
|
||||||
cyberiada_copy_string(&(new_node->id), &(new_node->id_len), id);
|
cyberiada_copy_string(&(new_node->id), &(new_node->id_len), id);
|
||||||
@@ -134,7 +134,7 @@ CyberiadaNode* cyberiada_new_node(const char* id)
|
|||||||
return new_node;
|
return new_node;
|
||||||
}
|
}
|
||||||
|
|
||||||
CyberiadaEdge* cyberiada_new_edge(const char* id, CyberiadaNode* source, CyberiadaNode* target)
|
static CyberiadaEdge* cyberiada_new_edge(const char* id, CyberiadaNode* source, CyberiadaNode* target)
|
||||||
{
|
{
|
||||||
CyberiadaEdge* new_edge = (CyberiadaEdge*)malloc(sizeof(CyberiadaEdge));
|
CyberiadaEdge* new_edge = (CyberiadaEdge*)malloc(sizeof(CyberiadaEdge));
|
||||||
cyberiada_copy_string(&(new_edge->id), &(new_edge->id_len), id);
|
cyberiada_copy_string(&(new_edge->id), &(new_edge->id_len), id);
|
||||||
@@ -148,7 +148,7 @@ CyberiadaEdge* cyberiada_new_edge(const char* id, CyberiadaNode* source, Cyberia
|
|||||||
return new_edge;
|
return new_edge;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cyberiada_graph_add_sibling_node(CyberiadaNode* sibling, CyberiadaNode* new_node)
|
static int cyberiada_graph_add_sibling_node(CyberiadaNode* sibling, CyberiadaNode* new_node)
|
||||||
{
|
{
|
||||||
CyberiadaNode* node = sibling;
|
CyberiadaNode* node = sibling;
|
||||||
if (!new_node) {
|
if (!new_node) {
|
||||||
@@ -160,7 +160,7 @@ int cyberiada_graph_add_sibling_node(CyberiadaNode* sibling, CyberiadaNode* new_
|
|||||||
return CYBERIADA_NO_ERROR;
|
return CYBERIADA_NO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cyberiada_graph_add_edge(CyberiadaSM* sm, const char* id, CyberiadaNode* source, CyberiadaNode* target)
|
static int cyberiada_graph_add_edge(CyberiadaSM* sm, const char* id, CyberiadaNode* source, CyberiadaNode* target)
|
||||||
{
|
{
|
||||||
CyberiadaEdge* last_edge;
|
CyberiadaEdge* last_edge;
|
||||||
CyberiadaEdge* new_edge;
|
CyberiadaEdge* new_edge;
|
||||||
@@ -178,7 +178,7 @@ int cyberiada_graph_add_edge(CyberiadaSM* sm, const char* id, CyberiadaNode* sou
|
|||||||
return CYBERIADA_NO_ERROR;
|
return CYBERIADA_NO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
CyberiadaEdge* cyberiada_graph_find_last_edge(CyberiadaSM* sm)
|
static CyberiadaEdge* cyberiada_graph_find_last_edge(CyberiadaSM* sm)
|
||||||
{
|
{
|
||||||
CyberiadaEdge* edge;
|
CyberiadaEdge* edge;
|
||||||
if (!sm) {
|
if (!sm) {
|
||||||
@@ -193,7 +193,7 @@ CyberiadaEdge* cyberiada_graph_find_last_edge(CyberiadaSM* sm)
|
|||||||
* The Cyberiada GraphML library fucntions declarations
|
* The Cyberiada GraphML library fucntions declarations
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
CyberiadaSM* cyberiada_create_sm()
|
CyberiadaSM* cyberiada_create_sm(void)
|
||||||
{
|
{
|
||||||
CyberiadaSM* sm = (CyberiadaSM*)malloc(sizeof(CyberiadaSM));
|
CyberiadaSM* sm = (CyberiadaSM*)malloc(sizeof(CyberiadaSM));
|
||||||
cyberiada_init_sm(sm);
|
cyberiada_init_sm(sm);
|
||||||
@@ -229,11 +229,11 @@ static int cyberiada_destroy_node(CyberiadaNode* node)
|
|||||||
if(n->action) free(n->action);
|
if(n->action) free(n->action);
|
||||||
} while (node);
|
} while (node);
|
||||||
}
|
}
|
||||||
|
return CYBERIADA_NO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cyberiada_cleanup_sm(CyberiadaSM* sm)
|
int cyberiada_cleanup_sm(CyberiadaSM* sm)
|
||||||
{
|
{
|
||||||
CyberiadaNode* n;
|
|
||||||
CyberiadaEdge *edge, *e;
|
CyberiadaEdge *edge, *e;
|
||||||
CyberiadaPolyline *polyline, *pl;
|
CyberiadaPolyline *polyline, *pl;
|
||||||
|
|
||||||
@@ -278,12 +278,12 @@ int cyberiada_destroy_sm(CyberiadaSM* sm)
|
|||||||
return CYBERIADA_NO_ERROR;
|
return CYBERIADA_NO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cyberiada_get_attr_value(char* buffer, unsigned int buffer_len,
|
static int cyberiada_get_attr_value(char* buffer, size_t buffer_len,
|
||||||
xmlNode* node, const char* attrname)
|
xmlNode* node, const char* attrname)
|
||||||
{
|
{
|
||||||
xmlAttr* attribute = node->properties;
|
xmlAttr* attribute = node->properties;
|
||||||
while(attribute) {
|
while(attribute) {
|
||||||
if (strcmp(attribute->name, attrname) == 0) {
|
if (strcmp((const char*)attribute->name, attrname) == 0) {
|
||||||
xmlChar* value = xmlNodeListGetString(node->doc, attribute->children, 1);
|
xmlChar* value = xmlNodeListGetString(node->doc, attribute->children, 1);
|
||||||
strncpy(buffer, (char*)value, buffer_len);
|
strncpy(buffer, (char*)value, buffer_len);
|
||||||
xmlFree(value);
|
xmlFree(value);
|
||||||
@@ -294,7 +294,7 @@ static int cyberiada_get_attr_value(char* buffer, unsigned int buffer_len,
|
|||||||
return CYBERIADA_NOT_FOUND;
|
return CYBERIADA_NOT_FOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cyberiada_get_element_text(char* buffer, unsigned int buffer_len,
|
static int cyberiada_get_element_text(char* buffer, size_t buffer_len,
|
||||||
xmlNode* node)
|
xmlNode* node)
|
||||||
{
|
{
|
||||||
xmlChar* value = xmlNodeListGetString(node->doc,
|
xmlChar* value = xmlNodeListGetString(node->doc,
|
||||||
@@ -341,7 +341,7 @@ static GraphProcessorState handle_new_graph(xmlNode* xml_node,
|
|||||||
{
|
{
|
||||||
CyberiadaNode* node;
|
CyberiadaNode* node;
|
||||||
char buffer[MAX_STR_LEN];
|
char buffer[MAX_STR_LEN];
|
||||||
unsigned int buffer_len = sizeof(buffer) - 1;
|
size_t buffer_len = sizeof(buffer) - 1;
|
||||||
/* process the top graph element only */
|
/* process the top graph element only */
|
||||||
if(cyberiada_get_attr_value(buffer, buffer_len,
|
if(cyberiada_get_attr_value(buffer, buffer_len,
|
||||||
xml_node,
|
xml_node,
|
||||||
@@ -366,7 +366,7 @@ static GraphProcessorState handle_new_node(xmlNode* xml_node,
|
|||||||
{
|
{
|
||||||
CyberiadaNode* node;
|
CyberiadaNode* node;
|
||||||
char buffer[MAX_STR_LEN];
|
char buffer[MAX_STR_LEN];
|
||||||
unsigned int buffer_len = sizeof(buffer) - 1;
|
size_t buffer_len = sizeof(buffer) - 1;
|
||||||
if (cyberiada_get_attr_value(buffer, buffer_len,
|
if (cyberiada_get_attr_value(buffer, buffer_len,
|
||||||
xml_node,
|
xml_node,
|
||||||
GRAPHML_ID_ATTRIBUTE) != CYBERIADA_NO_ERROR) {
|
GRAPHML_ID_ATTRIBUTE) != CYBERIADA_NO_ERROR) {
|
||||||
@@ -417,10 +417,10 @@ static GraphProcessorState handle_generic_node(xmlNode* xml_node,
|
|||||||
CyberiadaNode** current)
|
CyberiadaNode** current)
|
||||||
{
|
{
|
||||||
char buffer[MAX_STR_LEN];
|
char buffer[MAX_STR_LEN];
|
||||||
unsigned int buffer_len = sizeof(buffer) - 1;
|
size_t buffer_len = sizeof(buffer) - 1;
|
||||||
if (cyberiada_get_attr_value(buffer, buffer_len,
|
if (cyberiada_get_attr_value(buffer, buffer_len,
|
||||||
xml_node,
|
xml_node,
|
||||||
GRAPHML_YED_NODE_CONFIG_ATTRIBUTE) == CYBERIADA_NO_ERROR &
|
GRAPHML_YED_NODE_CONFIG_ATTRIBUTE) == CYBERIADA_NO_ERROR &&
|
||||||
(strcmp(buffer, GRAPHML_YED_NODE_CONFIG_START) == 0 ||
|
(strcmp(buffer, GRAPHML_YED_NODE_CONFIG_START) == 0 ||
|
||||||
strcmp(buffer, GRAPHML_YED_NODE_CONFIG_START2) == 0)) {
|
strcmp(buffer, GRAPHML_YED_NODE_CONFIG_START2) == 0)) {
|
||||||
(*current)->type = cybNodeInitial;
|
(*current)->type = cybNodeInitial;
|
||||||
@@ -440,7 +440,7 @@ static int cyberiada_xml_read_coord(xmlNode* xml_node,
|
|||||||
double* result)
|
double* result)
|
||||||
{
|
{
|
||||||
char buffer[MAX_STR_LEN];
|
char buffer[MAX_STR_LEN];
|
||||||
unsigned int buffer_len = sizeof(buffer) - 1;
|
size_t buffer_len = sizeof(buffer) - 1;
|
||||||
if (cyberiada_get_attr_value(buffer, buffer_len,
|
if (cyberiada_get_attr_value(buffer, buffer_len,
|
||||||
xml_node,
|
xml_node,
|
||||||
attr_name) != CYBERIADA_NO_ERROR) {
|
attr_name) != CYBERIADA_NO_ERROR) {
|
||||||
@@ -497,7 +497,7 @@ static GraphProcessorState handle_property(xmlNode* xml_node,
|
|||||||
CyberiadaNode** current)
|
CyberiadaNode** current)
|
||||||
{
|
{
|
||||||
char buffer[MAX_STR_LEN];
|
char buffer[MAX_STR_LEN];
|
||||||
unsigned int buffer_len = sizeof(buffer) - 1;
|
size_t buffer_len = sizeof(buffer) - 1;
|
||||||
if (cyberiada_get_attr_value(buffer, buffer_len,
|
if (cyberiada_get_attr_value(buffer, buffer_len,
|
||||||
xml_node,
|
xml_node,
|
||||||
GRAPHML_YED_PROP_VALUE_ATTRIBUTE) != CYBERIADA_NO_ERROR) {
|
GRAPHML_YED_PROP_VALUE_ATTRIBUTE) != CYBERIADA_NO_ERROR) {
|
||||||
@@ -514,7 +514,7 @@ static GraphProcessorState handle_node_title(xmlNode* xml_node,
|
|||||||
CyberiadaNode** current)
|
CyberiadaNode** current)
|
||||||
{
|
{
|
||||||
char buffer[MAX_STR_LEN];
|
char buffer[MAX_STR_LEN];
|
||||||
unsigned int buffer_len = sizeof(buffer) - 1;
|
size_t buffer_len = sizeof(buffer) - 1;
|
||||||
if ((*current)->title != NULL) {
|
if ((*current)->title != NULL) {
|
||||||
ERROR("Trying to set node %s label twice\n", (*current)->id);
|
ERROR("Trying to set node %s label twice\n", (*current)->id);
|
||||||
return gpsInvalid;
|
return gpsInvalid;
|
||||||
@@ -530,7 +530,7 @@ static GraphProcessorState handle_node_action(xmlNode* xml_node,
|
|||||||
CyberiadaNode** current)
|
CyberiadaNode** current)
|
||||||
{
|
{
|
||||||
char buffer[MAX_STR_LEN];
|
char buffer[MAX_STR_LEN];
|
||||||
unsigned int buffer_len = sizeof(buffer) - 1;
|
size_t buffer_len = sizeof(buffer) - 1;
|
||||||
if ((*current)->action != NULL) {
|
if ((*current)->action != NULL) {
|
||||||
ERROR("Trying to set node %s action twice\n", (*current)->id);
|
ERROR("Trying to set node %s action twice\n", (*current)->id);
|
||||||
return gpsInvalid;
|
return gpsInvalid;
|
||||||
@@ -548,7 +548,7 @@ static GraphProcessorState handle_new_edge(xmlNode* xml_node,
|
|||||||
CyberiadaNode* source = NULL;
|
CyberiadaNode* source = NULL;
|
||||||
CyberiadaNode* target = NULL;
|
CyberiadaNode* target = NULL;
|
||||||
char buffer[MAX_STR_LEN];
|
char buffer[MAX_STR_LEN];
|
||||||
unsigned int buffer_len = sizeof(buffer) - 1;
|
size_t buffer_len = sizeof(buffer) - 1;
|
||||||
if(cyberiada_get_attr_value(buffer, buffer_len,
|
if(cyberiada_get_attr_value(buffer, buffer_len,
|
||||||
xml_node,
|
xml_node,
|
||||||
GRAPHML_SOURCE_ATTRIBUTE) != CYBERIADA_NO_ERROR) {
|
GRAPHML_SOURCE_ATTRIBUTE) != CYBERIADA_NO_ERROR) {
|
||||||
@@ -642,7 +642,7 @@ static GraphProcessorState handle_edge_label(xmlNode* xml_node,
|
|||||||
CyberiadaNode** node)
|
CyberiadaNode** node)
|
||||||
{
|
{
|
||||||
char buffer[MAX_STR_LEN];
|
char buffer[MAX_STR_LEN];
|
||||||
unsigned int buffer_len = sizeof(buffer) - 1;
|
size_t buffer_len = sizeof(buffer) - 1;
|
||||||
CyberiadaEdge *current;
|
CyberiadaEdge *current;
|
||||||
current = cyberiada_graph_find_last_edge(sm);
|
current = cyberiada_graph_find_last_edge(sm);
|
||||||
if (current == NULL) {
|
if (current == NULL) {
|
||||||
@@ -690,17 +690,17 @@ static ProcessorTransition processor_state_table[] = {
|
|||||||
{gpsEdgePath, GRAPHML_YED_EDGELABEL, &handle_edge_label},
|
{gpsEdgePath, GRAPHML_YED_EDGELABEL, &handle_edge_label},
|
||||||
{gpsEdgePath, GRAPHML_EDGE_ELEMENT, &handle_new_edge},
|
{gpsEdgePath, GRAPHML_EDGE_ELEMENT, &handle_new_edge},
|
||||||
};
|
};
|
||||||
const unsigned int processor_state_table_size = sizeof(processor_state_table) / sizeof(ProcessorTransition);
|
const size_t processor_state_table_size = sizeof(processor_state_table) / sizeof(ProcessorTransition);
|
||||||
|
|
||||||
static int dispatch_processor(xmlNode* xml_node,
|
static int dispatch_processor(xmlNode* xml_node,
|
||||||
CyberiadaSM* sm,
|
CyberiadaSM* sm,
|
||||||
CyberiadaNode** current,
|
CyberiadaNode** current,
|
||||||
GraphProcessorState* gps) {
|
GraphProcessorState* gps) {
|
||||||
unsigned int i;
|
size_t i;
|
||||||
if (xml_node->type == XML_ELEMENT_NODE) {
|
if (xml_node->type == XML_ELEMENT_NODE) {
|
||||||
for (i = 0; i < processor_state_table_size; i++) {
|
for (i = 0; i < processor_state_table_size; i++) {
|
||||||
if (processor_state_table[i].state == *gps &&
|
if (processor_state_table[i].state == *gps &&
|
||||||
strcmp(xml_node->name, processor_state_table[i].symbol) == 0) {
|
strcmp((const char*)xml_node->name, processor_state_table[i].symbol) == 0) {
|
||||||
*gps = (*(processor_state_table[i].handler))(xml_node, sm, current);
|
*gps = (*(processor_state_table[i].handler))(xml_node, sm, current);
|
||||||
return CYBERIADA_NO_ERROR;
|
return CYBERIADA_NO_ERROR;
|
||||||
}
|
}
|
||||||
@@ -738,7 +738,7 @@ static int cyberiada_build_graph(xmlNode* xml_root,
|
|||||||
static int cyberiada_decode_yed_xml(xmlNode* root, CyberiadaSM* sm)
|
static int cyberiada_decode_yed_xml(xmlNode* root, CyberiadaSM* sm)
|
||||||
{
|
{
|
||||||
char buffer[MAX_STR_LEN];
|
char buffer[MAX_STR_LEN];
|
||||||
unsigned int buffer_len = sizeof(buffer) - 1;
|
size_t buffer_len = sizeof(buffer) - 1;
|
||||||
GraphProcessorState gps = gpsInit;
|
GraphProcessorState gps = gpsInit;
|
||||||
CyberiadaNode* current = NULL;
|
CyberiadaNode* current = NULL;
|
||||||
int res;
|
int res;
|
||||||
@@ -775,7 +775,7 @@ static int cyberiada_check_graphml_ns(xmlNode* root)
|
|||||||
return CYBERIADA_XML_ERROR;
|
return CYBERIADA_XML_ERROR;
|
||||||
}
|
}
|
||||||
do {
|
do {
|
||||||
if (strcmp(ns->href, GRAPHML_NAMESPACE_URI) == 0) {
|
if (strcmp((const char*)ns->href, GRAPHML_NAMESPACE_URI) == 0) {
|
||||||
return CYBERIADA_NO_ERROR;
|
return CYBERIADA_NO_ERROR;
|
||||||
}
|
}
|
||||||
ns = ns->next;
|
ns = ns->next;
|
||||||
@@ -789,8 +789,6 @@ int cyberiada_read_sm(CyberiadaSM* sm, const char* filename, CyberiadaXMLFormat
|
|||||||
int res;
|
int res;
|
||||||
xmlDoc* doc = NULL;
|
xmlDoc* doc = NULL;
|
||||||
xmlNode* root = NULL;
|
xmlNode* root = NULL;
|
||||||
char buffer[MAX_STR_LEN];
|
|
||||||
unsigned int buffer_len;
|
|
||||||
|
|
||||||
cyberiada_init_sm(sm);
|
cyberiada_init_sm(sm);
|
||||||
|
|
||||||
@@ -803,7 +801,7 @@ int cyberiada_read_sm(CyberiadaSM* sm, const char* filename, CyberiadaXMLFormat
|
|||||||
/* get the root element node */
|
/* get the root element node */
|
||||||
root = xmlDocGetRootElement(doc);
|
root = xmlDocGetRootElement(doc);
|
||||||
|
|
||||||
if (strcmp(root->name, GRAPHML_GRAPHML_ELEMENT) != 0) {
|
if (strcmp((const char*)root->name, GRAPHML_GRAPHML_ELEMENT) != 0) {
|
||||||
ERROR("error: could not find GraphML root node %s\n", filename);
|
ERROR("error: could not find GraphML root node %s\n", filename);
|
||||||
return CYBERIADA_XML_ERROR;
|
return CYBERIADA_XML_ERROR;
|
||||||
}
|
}
|
||||||
@@ -834,8 +832,6 @@ static int cyberiada_print_node(CyberiadaNode* node, CyberiadaNode* start, int l
|
|||||||
{
|
{
|
||||||
CyberiadaNode* cur_node;
|
CyberiadaNode* cur_node;
|
||||||
char levelspace[16];
|
char levelspace[16];
|
||||||
char buffer[MAX_STR_LEN];
|
|
||||||
unsigned int buffer_len = sizeof(buffer) - 1;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
memset(levelspace, 0, sizeof(levelspace));
|
memset(levelspace, 0, sizeof(levelspace));
|
||||||
@@ -872,10 +868,7 @@ static int cyberiada_print_node(CyberiadaNode* node, CyberiadaNode* start, int l
|
|||||||
|
|
||||||
static int cyberiada_print_edge(CyberiadaEdge* edge)
|
static int cyberiada_print_edge(CyberiadaEdge* edge)
|
||||||
{
|
{
|
||||||
char buffer[MAX_STR_LEN];
|
|
||||||
unsigned int buffer_len = sizeof(buffer) - 1;
|
|
||||||
CyberiadaPolyline* polyline;
|
CyberiadaPolyline* polyline;
|
||||||
int i;
|
|
||||||
printf(" Edge %s [%s %s]->[%s %s]\n",
|
printf(" Edge %s [%s %s]->[%s %s]\n",
|
||||||
edge->id,
|
edge->id,
|
||||||
edge->source->id,
|
edge->source->id,
|
||||||
@@ -889,7 +882,6 @@ static int cyberiada_print_edge(CyberiadaEdge* edge)
|
|||||||
edge->geometry_target_point.x,
|
edge->geometry_target_point.x,
|
||||||
edge->geometry_target_point.y);
|
edge->geometry_target_point.y);
|
||||||
} else {
|
} else {
|
||||||
int i;
|
|
||||||
printf(" Geometry: (\n");
|
printf(" Geometry: (\n");
|
||||||
printf(" (%lf, %lf)\n", edge->geometry_source_point.x, edge->geometry_source_point.y);
|
printf(" (%lf, %lf)\n", edge->geometry_source_point.x, edge->geometry_source_point.y);
|
||||||
for (polyline = edge->geometry_polyline; polyline; polyline = polyline->next) {
|
for (polyline = edge->geometry_polyline; polyline; polyline = polyline->next) {
|
||||||
@@ -908,8 +900,6 @@ static int cyberiada_print_edge(CyberiadaEdge* edge)
|
|||||||
|
|
||||||
int cyberiada_print_sm(CyberiadaSM* sm)
|
int cyberiada_print_sm(CyberiadaSM* sm)
|
||||||
{
|
{
|
||||||
char buffer[MAX_STR_LEN];
|
|
||||||
unsigned int buffer_len = sizeof(buffer) - 1;
|
|
||||||
CyberiadaNode* cur_node;
|
CyberiadaNode* cur_node;
|
||||||
CyberiadaEdge* cur_edge;
|
CyberiadaEdge* cur_edge;
|
||||||
|
|
||||||
|
|||||||
@@ -58,12 +58,12 @@ typedef struct _CyberiadaPolyline {
|
|||||||
/* SM node (state) */
|
/* SM node (state) */
|
||||||
typedef struct _CyberiadaNode {
|
typedef struct _CyberiadaNode {
|
||||||
char* id;
|
char* id;
|
||||||
unsigned int id_len;
|
size_t id_len;
|
||||||
char* title;
|
char* title;
|
||||||
unsigned int title_len;
|
size_t title_len;
|
||||||
CyberiadaNodeType type;
|
CyberiadaNodeType type;
|
||||||
char* action;
|
char* action;
|
||||||
unsigned int action_len;
|
size_t action_len;
|
||||||
CyberiadaRect geometry_rect;
|
CyberiadaRect geometry_rect;
|
||||||
struct _CyberiadaNode* next;
|
struct _CyberiadaNode* next;
|
||||||
struct _CyberiadaNode* parent;
|
struct _CyberiadaNode* parent;
|
||||||
@@ -73,11 +73,11 @@ typedef struct _CyberiadaNode {
|
|||||||
/* SM edge (transition) */
|
/* SM edge (transition) */
|
||||||
typedef struct _CyberiadaEdge {
|
typedef struct _CyberiadaEdge {
|
||||||
char* id;
|
char* id;
|
||||||
unsigned int id_len;
|
size_t id_len;
|
||||||
CyberiadaNode* source;
|
CyberiadaNode* source;
|
||||||
CyberiadaNode* target;
|
CyberiadaNode* target;
|
||||||
char* action;
|
char* action;
|
||||||
unsigned int action_len;
|
size_t action_len;
|
||||||
CyberiadaPoint geometry_source_point;
|
CyberiadaPoint geometry_source_point;
|
||||||
CyberiadaPoint geometry_target_point;
|
CyberiadaPoint geometry_target_point;
|
||||||
CyberiadaPolyline* geometry_polyline;
|
CyberiadaPolyline* geometry_polyline;
|
||||||
@@ -87,9 +87,9 @@ typedef struct _CyberiadaEdge {
|
|||||||
/* SM graph (state machine) */
|
/* SM graph (state machine) */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char* name;
|
char* name;
|
||||||
unsigned int name_len;
|
size_t name_len;
|
||||||
char* version;
|
char* version;
|
||||||
unsigned int version_len;
|
size_t version_len;
|
||||||
CyberiadaNode* nodes;
|
CyberiadaNode* nodes;
|
||||||
CyberiadaNode* start;
|
CyberiadaNode* start;
|
||||||
CyberiadaEdge* edges;
|
CyberiadaEdge* edges;
|
||||||
@@ -116,7 +116,7 @@ typedef enum {
|
|||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
/* Allocate the SM structure in memory (for heap usage) */
|
/* Allocate the SM structure in memory (for heap usage) */
|
||||||
CyberiadaSM* cyberiada_create_sm();
|
CyberiadaSM* cyberiada_create_sm(void);
|
||||||
|
|
||||||
/* Initialize the SM structure. Do not use the structure before the initialization! */
|
/* Initialize the SM structure. Do not use the structure before the initialization! */
|
||||||
int cyberiada_init_sm(CyberiadaSM* sm);
|
int cyberiada_init_sm(CyberiadaSM* sm);
|
||||||
|
|||||||
2
test.c
2
test.c
@@ -36,7 +36,7 @@ const char* format_names[] = {
|
|||||||
|
|
||||||
unsigned int format_count = sizeof(formats) / sizeof(char*);
|
unsigned int format_count = sizeof(formats) / sizeof(char*);
|
||||||
|
|
||||||
void print_usage(const char* name)
|
static void print_usage(const char* name)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
fprintf(stderr, "%s -t <format> <path-to-graphml-file>\n\n", name);
|
fprintf(stderr, "%s -t <format> <path-to-graphml-file>\n\n", name);
|
||||||
|
|||||||
Reference in New Issue
Block a user