diff options
Diffstat (limited to 'tests/test2-main.c')
-rw-r--r-- | tests/test2-main.c | 737 |
1 files changed, 337 insertions, 400 deletions
diff --git a/tests/test2-main.c b/tests/test2-main.c index b27967e..d64071c 100644 --- a/tests/test2-main.c +++ b/tests/test2-main.c @@ -31,22 +31,21 @@ #include "cr-test-utils.h" #include "cr-parser.h" - /** *@file *Some test facilities for the #CRParser class. */ -CRDocHandler * gv_test_handler = {0} ; +CRDocHandler *gv_test_handler = { 0 }; -static void -display_help (char *prg_name) ; +static void + display_help (char *prg_name); -static void -display_about (char *prg_name) ; +static void + display_about (char *prg_name); static enum CRStatus -test_cr_parser_parse (guchar * a_file_uri) ; + test_cr_parser_parse (guchar * a_file_uri); /** *Displays the usage of the test @@ -54,16 +53,16 @@ test_cr_parser_parse (guchar * a_file_uri) ; *@param a_argc the argc variable passed to the main function. *@param a_argv the argv variable passed to the main function. */ -static void +static void display_help (char *prg_name) { - fprintf (stdout,"\n\n") ; - fprintf (stdout,"usage: %s <file-to-parse>\n", prg_name) ; - fprintf (stdout,"\t <file-to-parse>: the file to parse\n") ; - fprintf (stdout,"\n\n") ; - fprintf (stdout,"Tests the cr_parser_parse () method.\n") ; - fprintf (stdout,"Returns OK if the status is CR_OK, KO otherwise\n") ; - fprintf (stdout,"\n\n") ; + fprintf (stdout, "\n\n"); + fprintf (stdout, "usage: %s <file-to-parse>\n", prg_name); + fprintf (stdout, "\t <file-to-parse>: the file to parse\n"); + fprintf (stdout, "\n\n"); + fprintf (stdout, "Tests the cr_parser_parse () method.\n"); + fprintf (stdout, "Returns OK if the status is CR_OK, KO otherwise\n"); + fprintf (stdout, "\n\n"); } /** @@ -71,492 +70,437 @@ display_help (char *prg_name) *@param a_argc the argc variable passed to the main function. *@param a_argv the argv variable passed to the main function. */ -static void +static void display_about (char *prg_name) { - fprintf (stdout,"\n\n") ; - fprintf (stdout,"%s is a libcroco CRParser class test program.\n", prg_name) ; - fprintf (stdout,"It should run on GNU compliants systems.\n") ; - fprintf (stdout,"\n\n") ; - fprintf (stdout,"Initial author: Dodji Seketeli <dodji@seketeli.org>.\n") ; - fprintf (stdout,"\n\n") ; + fprintf (stdout, "\n\n"); + fprintf (stdout, "%s is a libcroco CRParser class test program.\n", + prg_name); + fprintf (stdout, "It should run on GNU compliants systems.\n"); + fprintf (stdout, "\n\n"); + fprintf (stdout, + "Initial author: Dodji Seketeli <dodji@seketeli.org>.\n"); + fprintf (stdout, "\n\n"); } - /*************************** *Some SAC document handlers *for TEST PURPOSES. ***************************/ static void -test_start_document (CRDocHandler *a_handler) +test_start_document (CRDocHandler * a_handler) { - g_return_if_fail (a_handler) ; + g_return_if_fail (a_handler); - fprintf (stdout,"***************\n") ; - fprintf (stdout,"start_document\n") ; - fprintf (stdout,"***************\n\n") ; + fprintf (stdout, "***************\n"); + fprintf (stdout, "start_document\n"); + fprintf (stdout, "***************\n\n"); } static void -test_end_document (CRDocHandler *a_handler) +test_end_document (CRDocHandler * a_handler) { - g_return_if_fail (a_handler) ; + g_return_if_fail (a_handler); - fprintf (stdout,"***************\n") ; - fprintf (stdout,"end_document\n") ; - fprintf (stdout,"***************\n\n") ; + fprintf (stdout, "***************\n"); + fprintf (stdout, "end_document\n"); + fprintf (stdout, "***************\n\n"); } static void -test_import_style (CRDocHandler *a_handler, - GList *a_media_list, GString *a_uri, - GString *a_uri_default_ns) +test_import_style (CRDocHandler * a_handler, + GList * a_media_list, GString * a_uri, + GString * a_uri_default_ns) { - g_return_if_fail (a_handler) ; - - fprintf (stdout,"****************\n") ; - fprintf (stdout,"import_style\n") ; - - if (a_media_list) - { - GList *cur = NULL ; - - fprintf (stdout,"\nmedia list:\n") ; - fprintf (stdout,"-------------\n") ; - - for (cur = a_media_list ; cur ; cur = cur->next) - { - if (cur->data) - { - guchar *str = - g_strndup - (((GString*)cur->data)->str, - ((GString*)cur->data)->len) ; - - if (str) - { - fprintf (stdout,str) ; - fprintf (stdout,"\n") ; - g_free (str) ; - str = NULL ; - } - } - } - - fprintf (stdout,"\ndefault namespace:\n") ; - fprintf (stdout,"--------------------\n") ; - - if (a_uri_default_ns && a_uri_default_ns->str) - { - guchar * str = - g_strndup (a_uri_default_ns->str, - a_uri_default_ns->len) ; - if (str) - { - fprintf (stdout,str) ; - fprintf (stdout,"\n") ; - g_free (str) ; - str = NULL ; - } - } - } - - fprintf (stdout,"******************\n\n") ; - a_uri = NULL; /*keep compiler happy*/ -} + g_return_if_fail (a_handler); + + fprintf (stdout, "****************\n"); + fprintf (stdout, "import_style\n"); + + if (a_media_list) { + GList *cur = NULL; + + fprintf (stdout, "\nmedia list:\n"); + fprintf (stdout, "-------------\n"); + + for (cur = a_media_list; cur; cur = cur->next) { + if (cur->data) { + guchar *str = + g_strndup + (((GString *) cur->data)->str, + ((GString *) cur->data)->len); + + if (str) { + fprintf (stdout, str); + fprintf (stdout, "\n"); + g_free (str); + str = NULL; + } + } + } + fprintf (stdout, "\ndefault namespace:\n"); + fprintf (stdout, "--------------------\n"); + + if (a_uri_default_ns && a_uri_default_ns->str) { + guchar *str = g_strndup (a_uri_default_ns->str, + a_uri_default_ns->len); + + if (str) { + fprintf (stdout, str); + fprintf (stdout, "\n"); + g_free (str); + str = NULL; + } + } + } + + fprintf (stdout, "******************\n\n"); + a_uri = NULL; /*keep compiler happy */ +} static void -test_namespace_declaration (CRDocHandler *a_handler, - GString *a_prefix, - GString *a_uri) +test_namespace_declaration (CRDocHandler * a_handler, + GString * a_prefix, GString * a_uri) { - g_return_if_fail (a_handler) ; - - fprintf (stdout,"***************\n") ; - fprintf (stdout,"namespace_declaration:\n") ; - - if (a_prefix && a_prefix->str) - { - guchar * prefix = NULL ; - - prefix = g_strndup (a_prefix->str, a_prefix->len) ; - - if (prefix) - { - fprintf (stdout,"prefix: %s\n", prefix) ; - g_free (prefix) ; - prefix = NULL ; - } - } - - if (a_uri && a_uri->str) - { - guchar *uri = NULL ; - - uri = g_strndup (a_uri->str, a_uri->len) ; - - if (uri) - { - fprintf (stdout,"uri: %s\n", uri) ; - g_free (uri) ; - uri = NULL ; - } - } - fprintf (stdout,"\n") ; - - fprintf (stdout,"***************\n\n") ; - - -} + g_return_if_fail (a_handler); + fprintf (stdout, "***************\n"); + fprintf (stdout, "namespace_declaration:\n"); + + if (a_prefix && a_prefix->str) { + guchar *prefix = NULL; + + prefix = g_strndup (a_prefix->str, a_prefix->len); + + if (prefix) { + fprintf (stdout, "prefix: %s\n", prefix); + g_free (prefix); + prefix = NULL; + } + } + + if (a_uri && a_uri->str) { + guchar *uri = NULL; + + uri = g_strndup (a_uri->str, a_uri->len); + + if (uri) { + fprintf (stdout, "uri: %s\n", uri); + g_free (uri); + uri = NULL; + } + } + fprintf (stdout, "\n"); + + fprintf (stdout, "***************\n\n"); + +} static void -test_comment (CRDocHandler *a_handler, - GString *a_comment) +test_comment (CRDocHandler * a_handler, GString * a_comment) { - g_return_if_fail (a_handler) ; - - fprintf (stdout,"***************\n") ; - fprintf (stdout,"comment:\n") ; - - if (a_comment && a_comment->str) - { - guchar *comment = NULL ; - - comment = g_strndup (a_comment->str, a_comment->len) ; - - if (comment) - { - fprintf (stdout,"\n/*----------------------\n") ; - fprintf (stdout,"%s\n", comment) ; - fprintf (stdout,"-------------------------*/\n") ; - - g_free (comment) ; - comment = NULL ; - } - } - - fprintf (stdout,"***************\n\n") ; -} + g_return_if_fail (a_handler); + + fprintf (stdout, "***************\n"); + fprintf (stdout, "comment:\n"); + if (a_comment && a_comment->str) { + guchar *comment = NULL; + comment = g_strndup (a_comment->str, a_comment->len); + + if (comment) { + fprintf (stdout, "\n/*----------------------\n"); + fprintf (stdout, "%s\n", comment); + fprintf (stdout, "-------------------------*/\n"); + + g_free (comment); + comment = NULL; + } + } + + fprintf (stdout, "***************\n\n"); +} static void -test_start_selector (CRDocHandler *a_handler, - CRSelector *a_selector_list) +test_start_selector (CRDocHandler * a_handler, CRSelector * a_selector_list) { - g_return_if_fail (a_handler) ; + g_return_if_fail (a_handler); - fprintf (stdout,"***************\n") ; - fprintf (stdout,"start_selector\n") ; + fprintf (stdout, "***************\n"); + fprintf (stdout, "start_selector\n"); - if (a_selector_list) - { - cr_selector_dump (a_selector_list, stdout) ; - fprintf (stdout, "\n") ; + if (a_selector_list) { + cr_selector_dump (a_selector_list, stdout); + fprintf (stdout, "\n"); } - fprintf (stdout,"***************\n\n") ; + fprintf (stdout, "***************\n\n"); } - static void -test_end_selector (CRDocHandler *a_handler, - CRSelector *a_selector_list) +test_end_selector (CRDocHandler * a_handler, CRSelector * a_selector_list) { - g_return_if_fail (a_handler) ; - - fprintf (stdout,"***************\n") ; - fprintf (stdout,"end_selector\n") ; - - if (a_selector_list) - { - cr_selector_dump (a_selector_list, stdout) ; - fprintf (stdout,"\n") ; + g_return_if_fail (a_handler); + + fprintf (stdout, "***************\n"); + fprintf (stdout, "end_selector\n"); + + if (a_selector_list) { + cr_selector_dump (a_selector_list, stdout); + fprintf (stdout, "\n"); } - fprintf (stdout,"***************\n\n") ; + fprintf (stdout, "***************\n\n"); } - static void -test_property (CRDocHandler *a_handler, GString *a_name, - CRTerm *a_expr, gboolean a_important) +test_property (CRDocHandler * a_handler, GString * a_name, + CRTerm * a_expr, gboolean a_important) { - g_return_if_fail (a_handler) ; - - fprintf (stdout,"***************\n") ; - fprintf (stdout,"property\n") ; - - if (a_name && a_name->str) - { - guchar *name = g_strndup (a_name->str, a_name->len) ; - - if (name) - { - fprintf (stdout,name) ; + g_return_if_fail (a_handler); + + fprintf (stdout, "***************\n"); + fprintf (stdout, "property\n"); + + if (a_name && a_name->str) { + guchar *name = g_strndup (a_name->str, a_name->len); + + if (name) { + fprintf (stdout, name); } - - if (a_expr) - { - fprintf (stdout,": ") ; - cr_term_dump (a_expr, stdout) ; + + if (a_expr) { + fprintf (stdout, ": "); + cr_term_dump (a_expr, stdout); } - if (name) - { - g_free (name) ; - name = NULL ; + if (name) { + g_free (name); + name = NULL; } - - fprintf (stdout,"\n") ; + + fprintf (stdout, "\n"); } - fprintf (stdout,"***************\n\n") ; + fprintf (stdout, "***************\n\n"); } - static void -test_start_font_face (CRDocHandler *a_handler) +test_start_font_face (CRDocHandler * a_handler) { - g_return_if_fail (a_handler) ; + g_return_if_fail (a_handler); - fprintf (stdout,"***************\n") ; - fprintf (stdout,"start_font_face\n") ; - fprintf (stdout,"***************\n\n") ; + fprintf (stdout, "***************\n"); + fprintf (stdout, "start_font_face\n"); + fprintf (stdout, "***************\n\n"); } - static void -test_end_font_face (CRDocHandler *a_handler) +test_end_font_face (CRDocHandler * a_handler) { - g_return_if_fail (a_handler) ; + g_return_if_fail (a_handler); - fprintf (stdout,"***************\n") ; - fprintf (stdout,"end_font_face\n") ; - fprintf (stdout,"***************\n\n") ; + fprintf (stdout, "***************\n"); + fprintf (stdout, "end_font_face\n"); + fprintf (stdout, "***************\n\n"); } static void -test_start_media (CRDocHandler *a_handler, - GList *a_media_list) +test_start_media (CRDocHandler * a_handler, GList * a_media_list) { - g_return_if_fail (a_handler) ; - - fprintf (stdout,"***************\n") ; - fprintf (stdout,"start_media\n") ; - - if (a_media_list) - { - GList *cur = NULL ; - guchar *medium = NULL ; - - for (cur = a_media_list ; cur ; cur = cur->next) - { - if (cur->data == NULL) - continue ; - - medium = g_strndup (((GString*)cur->data)->str, - ((GString*)cur->data)->len) ; + g_return_if_fail (a_handler); + + fprintf (stdout, "***************\n"); + fprintf (stdout, "start_media\n"); + + if (a_media_list) { + GList *cur = NULL; + guchar *medium = NULL; + + for (cur = a_media_list; cur; cur = cur->next) { + if (cur->data == NULL) + continue; + + medium = g_strndup (((GString *) cur->data)->str, + ((GString *) cur->data)->len); if (medium == NULL) - continue ; + continue; - fprintf (stdout,"medium: %s\n", medium) ; + fprintf (stdout, "medium: %s\n", medium); - if (medium) - { - g_free (medium) ; - medium = NULL ; + if (medium) { + g_free (medium); + medium = NULL; } } } - fprintf (stdout,"***************\n\n") ; + fprintf (stdout, "***************\n\n"); } - static void -test_end_media (CRDocHandler *a_handler, - GList *a_media_list) +test_end_media (CRDocHandler * a_handler, GList * a_media_list) { - g_return_if_fail (a_handler) ; - - fprintf (stdout,"***************\n") ; - fprintf (stdout,"end_media\n") ; - - if (a_media_list) - { - GList *cur = NULL ; - guchar *medium = NULL ; - - for (cur = a_media_list ; cur ; cur = cur->next) - { - if (cur->data == NULL) - continue ; - - medium = g_strndup (((GString*)cur->data)->str, - ((GString*)cur->data)->len) ; + g_return_if_fail (a_handler); + + fprintf (stdout, "***************\n"); + fprintf (stdout, "end_media\n"); + + if (a_media_list) { + GList *cur = NULL; + guchar *medium = NULL; + + for (cur = a_media_list; cur; cur = cur->next) { + if (cur->data == NULL) + continue; + + medium = g_strndup (((GString *) cur->data)->str, + ((GString *) cur->data)->len); if (medium == NULL) - continue ; + continue; - fprintf (stdout,"medium: %s\n", medium) ; + fprintf (stdout, "medium: %s\n", medium); - if (medium) - { - g_free (medium) ; - medium = NULL ; + if (medium) { + g_free (medium); + medium = NULL; } } } - fprintf (stdout,"***************\n\n") ; + fprintf (stdout, "***************\n\n"); } static void -test_start_page (CRDocHandler *a_handler, - GString *a_name, GString *a_pseudo_page) +test_start_page (CRDocHandler * a_handler, + GString * a_name, GString * a_pseudo_page) { - guchar *name = NULL, *pseudo_page = NULL ; + guchar *name = NULL, + *pseudo_page = NULL; + + g_return_if_fail (a_handler); - g_return_if_fail (a_handler) ; + fprintf (stdout, "***************\n"); + fprintf (stdout, "start_page\n"); - fprintf (stdout,"***************\n") ; - fprintf (stdout,"start_page\n") ; - - if (a_name && a_name->str) - { - name = g_strndup (a_name->str, a_name->len) ; + if (a_name && a_name->str) { + name = g_strndup (a_name->str, a_name->len); } - if (a_pseudo_page && a_pseudo_page->str) - { - pseudo_page = g_strndup (a_pseudo_page->str, - a_pseudo_page->len) ; + if (a_pseudo_page && a_pseudo_page->str) { + pseudo_page = g_strndup (a_pseudo_page->str, + a_pseudo_page->len); } - if (name) - { - fprintf (stdout,"%s", name) ; + if (name) { + fprintf (stdout, "%s", name); } - if (pseudo_page) - { - fprintf (stdout,": %s\n", pseudo_page) ; + if (pseudo_page) { + fprintf (stdout, ": %s\n", pseudo_page); } - fprintf (stdout,"***************\n\n") ; + fprintf (stdout, "***************\n\n"); - if (name) - { - g_free (name) ; - name = NULL ; + if (name) { + g_free (name); + name = NULL; } - if (pseudo_page) - { - g_free (pseudo_page) ; - pseudo_page = NULL ; + if (pseudo_page) { + g_free (pseudo_page); + pseudo_page = NULL; } } static void -test_end_page (CRDocHandler *a_handler, - GString *a_name, GString *a_pseudo_page) +test_end_page (CRDocHandler * a_handler, + GString * a_name, GString * a_pseudo_page) { - guchar *name = NULL, *pseudo_page = NULL ; + guchar *name = NULL, + *pseudo_page = NULL; - g_return_if_fail (a_handler) ; + g_return_if_fail (a_handler); - fprintf (stdout,"***************\n") ; - fprintf (stdout,"end_page\n") ; - - if (a_name && a_name->str) - { - name = g_strndup (a_name->str, a_name->len) ; + fprintf (stdout, "***************\n"); + fprintf (stdout, "end_page\n"); + + if (a_name && a_name->str) { + name = g_strndup (a_name->str, a_name->len); } - if (a_pseudo_page && a_pseudo_page->str) - { - pseudo_page = g_strndup (a_pseudo_page->str, - a_pseudo_page->len) ; + if (a_pseudo_page && a_pseudo_page->str) { + pseudo_page = g_strndup (a_pseudo_page->str, + a_pseudo_page->len); } - if (name) - { - fprintf (stdout,"%s", name) ; + if (name) { + fprintf (stdout, "%s", name); } - if (pseudo_page) - { - fprintf (stdout,": %s\n", pseudo_page) ; - + if (pseudo_page) { + fprintf (stdout, ": %s\n", pseudo_page); + } - fprintf (stdout,"***************\n\n") ; + fprintf (stdout, "***************\n\n"); - if (name) - { - g_free (name) ; - name = NULL ; + if (name) { + g_free (name); + name = NULL; } - if (pseudo_page) - { - g_free (pseudo_page) ; - pseudo_page = NULL ; + if (pseudo_page) { + g_free (pseudo_page); + pseudo_page = NULL; } } - static void -test_ignorable_at_rule (CRDocHandler *a_handler, - GString *a_name) +test_ignorable_at_rule (CRDocHandler * a_handler, GString * a_name) { - guchar *name = NULL ; + guchar *name = NULL; - g_return_if_fail (a_handler) ; + g_return_if_fail (a_handler); - fprintf (stdout,"*********************\n") ; - fprintf (stdout,"ignorable_at_rule\n") ; + fprintf (stdout, "*********************\n"); + fprintf (stdout, "ignorable_at_rule\n"); - if (a_name && a_name->str) - { - name = g_strndup (a_name->str, a_name->len) ; + if (a_name && a_name->str) { + name = g_strndup (a_name->str, a_name->len); } - if (name) - { - fprintf (stdout,"%s\n", name) ; + if (name) { + fprintf (stdout, "%s\n", name); } - fprintf (stdout,"*********************\n\n") ; + fprintf (stdout, "*********************\n\n"); } - static void -init_test_sac_handler (CRDocHandler *a_handler) - +init_test_sac_handler (CRDocHandler * a_handler) { - a_handler->start_document = test_start_document ; - a_handler->end_document = test_end_document ; - a_handler->import_style = test_import_style ; - a_handler->namespace_declaration = test_namespace_declaration ; - a_handler->comment = test_comment ; - a_handler->start_selector = test_start_selector ; - a_handler->end_selector = test_end_selector ; - a_handler->property = test_property ; - a_handler->start_font_face = test_start_font_face ; - a_handler->end_font_face = test_end_font_face ; - a_handler->start_media = test_start_media ; - a_handler->end_media = test_end_media ; - a_handler->start_page = test_start_page ; - a_handler->end_page = test_end_page ; - a_handler->ignorable_at_rule = test_ignorable_at_rule ; + a_handler->start_document = test_start_document; + a_handler->end_document = test_end_document; + a_handler->import_style = test_import_style; + a_handler->namespace_declaration = test_namespace_declaration; + a_handler->comment = test_comment; + a_handler->start_selector = test_start_selector; + a_handler->end_selector = test_end_selector; + a_handler->property = test_property; + a_handler->start_font_face = test_start_font_face; + a_handler->end_font_face = test_end_font_face; + a_handler->start_media = test_start_media; + a_handler->end_media = test_end_media; + a_handler->start_page = test_start_page; + a_handler->end_page = test_end_page; + a_handler->ignorable_at_rule = test_ignorable_at_rule; } /*************************** @@ -564,7 +508,6 @@ init_test_sac_handler (CRDocHandler *a_handler) *handlers. ***************************/ - /** *The test of the cr_input_read_byte() method. *Reads the each byte of a_file_uri using the @@ -577,69 +520,63 @@ init_test_sac_handler (CRDocHandler *a_handler) static enum CRStatus test_cr_parser_parse (guchar * a_file_uri) { - enum CRStatus status = CR_OK ; - CRParser *parser = NULL ; + enum CRStatus status = CR_OK; + CRParser *parser = NULL; - g_return_val_if_fail (a_file_uri, CR_BAD_PARAM_ERROR) ; + g_return_val_if_fail (a_file_uri, CR_BAD_PARAM_ERROR); - gv_test_handler = cr_doc_handler_new () ; - init_test_sac_handler (gv_test_handler) ; + gv_test_handler = cr_doc_handler_new (); + init_test_sac_handler (gv_test_handler); - parser = cr_parser_new (NULL) ; + parser = cr_parser_new (NULL); - status = cr_parser_set_sac_handler (parser, gv_test_handler) ; - - if (status != CR_OK) - { - cr_parser_destroy (parser) ; - g_return_val_if_fail (status == CR_OK, CR_ERROR) ; + status = cr_parser_set_sac_handler (parser, gv_test_handler); + + if (status != CR_OK) { + cr_parser_destroy (parser); + g_return_val_if_fail (status == CR_OK, CR_ERROR); } - status = cr_parser_parse_file (parser, a_file_uri, CR_ASCII) ; + status = cr_parser_parse_file (parser, a_file_uri, CR_ASCII); - cr_parser_destroy (parser) ; + cr_parser_destroy (parser); - gv_test_handler = NULL ; + gv_test_handler = NULL; - return status ; + return status; } - /** *The entry point of the testing routine. */ int -main (int argc, char ** argv) +main (int argc, char **argv) { - struct Options options ; - enum CRStatus status = CR_OK ; + struct Options options; + enum CRStatus status = CR_OK; - cr_test_utils_parse_cmd_line (argc, argv, &options) ; + cr_test_utils_parse_cmd_line (argc, argv, &options); - if (options.display_help == TRUE) - { - display_help (argv[0]) ; - return 0 ; + if (options.display_help == TRUE) { + display_help (argv[0]); + return 0; } - if (options.display_about == TRUE) - { - display_about (argv[0]) ; - return 0 ; + if (options.display_about == TRUE) { + display_about (argv[0]); + return 0; } - if (options.files_list == NULL) - { - display_help (argv[0]) ; - return 0 ; + if (options.files_list == NULL) { + display_help (argv[0]); + return 0; } - status = test_cr_parser_parse (options.files_list[0]) ; + status = test_cr_parser_parse (options.files_list[0]); - if (status != CR_OK) - { - fprintf (stdout,"KO\n") ; + if (status != CR_OK) { + fprintf (stdout, "KO\n"); } - return 0 ; + return 0; } |