X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4725d7a4bc5ac1fdae3e86222cdc23eaaf6fb226..e8fe9dfcfd30b077f90088b59288420c95e25a71:/src/xbt/graphxml_parse.c diff --git a/src/xbt/graphxml_parse.c b/src/xbt/graphxml_parse.c index 5768ea0268..4f7605ddaf 100644 --- a/src/xbt/graphxml_parse.c +++ b/src/xbt/graphxml_parse.c @@ -1,6 +1,5 @@ -/* $Id$ */ - -/* Copyright (c) 2006 Arnaud Legrand. All rights reserved. */ +/* Copyright (c) 2006-2011, 2013-2014. The SimGrid Team. + * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -13,13 +12,14 @@ #include "xbt/dynar.h" #include "xbt/graphxml_parse.h" -XBT_LOG_NEW_DEFAULT_SUBCATEGORY(graphxml_parse, xbt ,"Logging specific to the graphxml parsing module"); +XBT_LOG_NEW_DEFAULT_SUBCATEGORY(graphxml_parse, xbt, + "Logging specific to the graphxml parsing module"); #undef CLEANUP #include "graphxml.c" -static xbt_dynar_t xbt_graph_input_buffer_stack=NULL; -static xbt_dynar_t xbt_graph_file_to_parse_stack=NULL; +static xbt_dynar_t xbt_graph_input_buffer_stack = NULL; +static xbt_dynar_t xbt_graph_file_to_parse_stack = NULL; static void nil_function(void) { @@ -48,62 +48,65 @@ void xbt_graph_parse_reset_parser(void) void STag_graphxml_graph(void) { - (*STag_graphxml_graph_fun)(); + STag_graphxml_graph_fun(); } void ETag_graphxml_graph(void) { - (*ETag_graphxml_graph_fun)(); + ETag_graphxml_graph_fun(); } void STag_graphxml_node(void) { - (*STag_graphxml_node_fun)(); + STag_graphxml_node_fun(); } void ETag_graphxml_node(void) { - (*ETag_graphxml_node_fun)(); + ETag_graphxml_node_fun(); } void STag_graphxml_edge(void) { - (*STag_graphxml_edge_fun)(); + STag_graphxml_edge_fun(); } void ETag_graphxml_edge(void) { - (*ETag_graphxml_edge_fun)(); + ETag_graphxml_edge_fun(); } -void xbt_graph_parse_open(const char *file) { - if(!file) { - WARN0("I hope you know what you're doing... you just gave me a NULL pointer!"); +void xbt_graph_parse_open(const char *file) +{ + if (!file) { + XBT_WARN + ("I hope you know what you're doing... you just gave me a NULL pointer!"); return; } - if(!xbt_graph_input_buffer_stack) - xbt_graph_input_buffer_stack = xbt_dynar_new(sizeof(YY_BUFFER_STATE),NULL); - if(!xbt_graph_file_to_parse_stack) - xbt_graph_file_to_parse_stack = xbt_dynar_new(sizeof(FILE*),NULL); - - xbt_graph_file_to_parse = fopen(file,"r"); /* FIXME should use something like surf_fopen */ - xbt_assert1((xbt_graph_file_to_parse), "Unable to open \"%s\"\n",file); - xbt_graph_input_buffer = xbt_graph_parse__create_buffer( xbt_graph_file_to_parse, 10); + if (!xbt_graph_input_buffer_stack) + xbt_graph_input_buffer_stack = + xbt_dynar_new(sizeof(YY_BUFFER_STATE), NULL); + if (!xbt_graph_file_to_parse_stack) + xbt_graph_file_to_parse_stack = xbt_dynar_new(sizeof(FILE *), NULL); + + xbt_graph_file_to_parse = fopen(file, "r"); /* FIXME should use something like surf_fopen */ + xbt_assert((xbt_graph_file_to_parse), "Unable to open \"%s\"\n", file); + xbt_graph_input_buffer = + xbt_graph_parse__create_buffer(xbt_graph_file_to_parse, 10); xbt_graph_parse__switch_to_buffer(xbt_graph_input_buffer); xbt_graph_parse_lineno = 1; } -void xbt_graph_parse_close(void) { - if(xbt_graph_input_buffer_stack) - xbt_dynar_free(&xbt_graph_input_buffer_stack); - if(xbt_graph_file_to_parse_stack) - xbt_dynar_free(&xbt_graph_file_to_parse_stack); +void xbt_graph_parse_close(void) +{ + xbt_dynar_free(&xbt_graph_input_buffer_stack); + xbt_dynar_free(&xbt_graph_file_to_parse_stack); - if(xbt_graph_file_to_parse) { + if (xbt_graph_file_to_parse) { xbt_graph_parse__delete_buffer(xbt_graph_input_buffer); fclose(xbt_graph_file_to_parse); } @@ -117,12 +120,13 @@ static int _xbt_graph_parse(void) int_f_void_t xbt_graph_parse = _xbt_graph_parse; -void xbt_graph_parse_get_double(double *value,const char *string) +double xbt_graph_parse_get_double(const char *string) { - int ret = 0; + double result; + XBT_ATTRIB_UNUSED int ret = 0; - ret = sscanf(string, "%lg", value); - xbt_assert2((ret==1), "Parse error line %d : %s not a number", xbt_graph_parse_lineno, - string); + ret = sscanf(string, "%lg", &result); + xbt_assert((ret == 1), "Parse error line %d : %s not a number", + xbt_graph_parse_lineno, string); + return result; } -