Skip to content
Snippets Groups Projects
Commit 08196311 authored by Jonathan Schöbel's avatar Jonathan Schöbel
Browse files

improved status

parent ee5756ca
No related branches found
No related tags found
No related merge requests found
......@@ -28,7 +28,7 @@ long_line_behaviour=1
long_line_column=72
[files]
current_page=10
current_page=19
FILE_NAME_0=923;Sh;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fconfigure.ac;0;8
FILE_NAME_1=73;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2FMakefile.am;0;8
FILE_NAME_2=1143;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Fmain.c;0;8
......@@ -49,16 +49,16 @@ FILE_NAME_16=1779;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fp
FILE_NAME_17=851;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator.h;0;8
FILE_NAME_18=14237;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator_tag.c;0;8
FILE_NAME_19=859;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator_tag.h;0;8
FILE_NAME_20=852;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fstatus.h;0;8
FILE_NAME_20=4600;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fstatus.h;0;8
FILE_NAME_21=839;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Flog.h;0;4
FILE_NAME_22=1070;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fmacro.h;0;8
FILE_NAME_23=1106;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fsefht.h;0;8
FILE_NAME_24=499;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2FMakefile.am;0;8
FILE_NAME_25=1510;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_cms.c;0;8
FILE_NAME_26=3878;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_data.c;0;8
FILE_NAME_27=14714;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_node_fragment.c;0;8
FILE_NAME_28=976;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_text.c;0;8
FILE_NAME_29=6814;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_validator.c;0;8
FILE_NAME_25=1085;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_cms.c;0;8
FILE_NAME_26=3283;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_data.c;0;8
FILE_NAME_27=13617;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_node_fragment.c;0;8
FILE_NAME_28=11068;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_text.c;0;8
FILE_NAME_29=5744;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_validator.c;0;8
FILE_NAME_30=165;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftodo.txt;0;8
[VTE]
......
......@@ -38,29 +38,29 @@
#ifdef LIB_SEFHT_COMPILATION
#define succeed(STATUS) \
((STATUS != NULL) && (STATUS->status == SUCCESS))
(((STATUS) != NULL) && ((STATUS)->status == SUCCESS))
#define failed(STATUS) \
((STATUS != NULL) && (STATUS->status != SUCCESS))
(((STATUS) != NULL) && ((STATUS)->status != SUCCESS))
#define unknown(STATUS) (STATUS == NULL)
#define unknown(STATUS) ((STATUS) == NULL)
#define set_status(STATUS, ERROR, OFFSET, MESSAGE) \
do \
{ \
if (STATUS != NULL) \
if ((STATUS) != NULL) \
{ \
STATUS->status = ERROR; \
STATUS->errno_ = (ERROR == SUCCESS) ? 0: errno; \
STATUS->file = __FILE__; \
STATUS->function = __FUNCTION__; \
STATUS->line = (unsigned long) (__LINE__ - OFFSET); \
STATUS->message = MESSAGE; \
(STATUS)->status = (ERROR); \
(STATUS)->errno_ = ((ERROR) == SUCCESS) ? 0: errno; \
(STATUS)->file = (__FILE__); \
(STATUS)->function = (__FUNCTION__); \
(STATUS)->line = (unsigned long) ((__LINE__)-(OFFSET));\
(STATUS)->message = (MESSAGE); \
}; \
\
if (MESSAGE != NULL) \
if ((MESSAGE) != NULL) \
{ \
ERROR1 (MESSAGE); \
ERROR1 ((MESSAGE)); \
} \
} \
while (FALSE)
......@@ -68,29 +68,38 @@ while (FALSE)
#define set_status_(STATUS, ERROR, OFFSET, LENGTH, MESSAGE, ...) \
do \
{ \
if (STATUS != NULL) \
if ((STATUS) != NULL) \
{ \
STATUS->status = ERROR; \
STATUS->errno_ = (ERROR == SUCCESS) ? 0: errno; \
STATUS->file = __FILE__; \
STATUS->function = __FUNCTION__; \
STATUS->line = (unsigned long) (__LINE__ - OFFSET); \
STATUS->message = malloc (strlen(MESSAGE)+1 + LENGTH); \
if (STATUS->message == NULL) \
(STATUS)->status = (ERROR); \
(STATUS)->errno_ = ((ERROR) == SUCCESS) ? 0: errno; \
(STATUS)->file = (__FILE__); \
(STATUS)->function = (__FUNCTION__); \
(STATUS)->line = (unsigned long) ((__LINE__)-(OFFSET));\
(STATUS)->message = malloc(strlen(MESSAGE)+1 + LENGTH);\
if ((STATUS)->message == NULL) \
{ \
set_status (STATUS, E_ALLOC, OFFSET, \
set_status ((STATUS), E_ALLOC, (OFFSET), \
"malloc failed while generating " \
"error message"); \
} \
sprintf (STATUS->message, MESSAGE, __VA_ARGS__); \
sprintf ((STATUS)->message, (MESSAGE), __VA_ARGS__); \
}; \
\
ERROR_ (MESSAGE, __VA_ARGS__); \
ERROR_ ((MESSAGE), __VA_ARGS__); \
} \
while (FALSE)
#define set_success(STATUS) set_status(STATUS, SUCCESS, 0, NULL)
#define _status_preinit(STATUS) \
do { \
(STATUS).status = UNDEFINED; \
(STATUS).errno_ = 0; \
(STATUS).file = NULL; \
(STATUS).line = 0; \
(STATUS).message = NULL; \
} \
while (FALSE)
#endif /* LIB_SEFHT_COMPILATION */
......
......@@ -40,7 +40,7 @@ START_TEST(test_cms)
SH_Cms_free (cms);
status.status = UNDEFINED;
_status_preinit (status);
cms = SH_Cms_new (&status);
ck_assert_int_ne ((long int) cms, (long int) NULL);
ck_assert_int_eq (status.status, SUCCESS);
......
......@@ -43,7 +43,7 @@ START_TEST(test_data)
SH_Data_free (data);
status.status = UNDEFINED;
_status_preinit (status);
data = SH_Data_new (&status);
ck_assert_int_ne ((long int) data, (long int) NULL);
ck_assert_int_eq (status.status, SUCCESS);
......@@ -101,7 +101,7 @@ START_TEST(test_data_register_page)
/* success with error */
data->last_page = 1;
status.status = UNDEFINED;
_status_preinit (status);
page = SH_Data_register_page (data, page4, &status);
ck_assert_int_eq (page, 2);
ck_assert_int_eq (status.status, SUCCESS);
......@@ -115,7 +115,7 @@ START_TEST(test_data_register_page)
/* fail with error */
data->page_n = SIZE_MAX;
status.status = UNDEFINED;
_status_preinit (status);
page = SH_Data_register_page (data, page5, &status);
ck_assert_int_eq (page, PAGE_ERR);
ck_assert_int_eq (status.status, E_DOMAIN);
......@@ -127,7 +127,7 @@ START_TEST(test_data_register_page)
data->page_n = 2;
data->last_page = PAGE_MAX;
status.status = UNDEFINED;
_status_preinit (status);
page = SH_Data_register_page (data, page6, &status);
ck_assert_int_eq (page, PAGE_ERR);
ck_assert_int_eq (status.status, E_DOMAIN);
......
......@@ -50,7 +50,7 @@ START_TEST(test_node_fragment)
SH_Fragment_free (fragment);
/* valid tag - error */
status.status = UNDEFINED;
_status_preinit (status);
fragment = SH_NodeFragment_new (tag, data, &status);
ck_assert_int_ne ((long int) fragment, (long int) NULL);
ck_assert_int_eq (status.status, SUCCESS);
......@@ -89,7 +89,7 @@ START_TEST(test_node_fragment_copy)
SH_Fragment_free (copy);
/* with error */
status.status = UNDEFINED;
_status_preinit (status);
copy = SH_NodeFragment_copy (((struct SH_NodeFragment *) fragment),
&status);
ck_assert_int_eq (status.status, SUCCESS);
......@@ -187,7 +187,7 @@ START_TEST(test_node_fragment_deepcopy)
SH_Fragment_free (copy);
/* with error */
status.status = UNDEFINED;
_status_preinit (status);
copy = SH_Fragment_copy (fragment, &status);
ck_assert_int_eq (status.status, SUCCESS);
......@@ -234,7 +234,7 @@ START_TEST(test_node_fragment_tag)
/* error */
fragment = SH_NodeFragment_new (tag2, data, NULL);
status.status = UNDEFINED;
_status_preinit (status);
tag = SH_NodeFragment_get_tag (((struct SH_NodeFragment *) fragment),
&status);
ck_assert_str_eq (tag, tag2);
......@@ -275,7 +275,7 @@ START_TEST(test_node_fragment_child)
/* with error */
ck_assert_int_eq (((struct SH_NodeFragment *) parent)->child_n, 1);
status.status = UNDEFINED;
_status_preinit (status);
boolean = SH_NodeFragment_append_child (((struct SH_NodeFragment *) parent),
child2, &status);
ck_assert_int_eq (boolean, TRUE);
......@@ -317,13 +317,13 @@ START_TEST(test_node_fragment_get_child)
ck_assert_ptr_eq (NULL, child2);
/* with error */
status.status = UNDEFINED;
_status_preinit (status);
child2 = SH_NodeFragment_get_child (((struct SH_NodeFragment *) parent),
0, &status);
ck_assert_ptr_eq (child1, child2);
ck_assert_int_eq (status.status, SUCCESS);
status.status = UNDEFINED;
_status_preinit (status);
child2 = SH_NodeFragment_get_child (((struct SH_NodeFragment *) parent),
1, &status);
ck_assert_ptr_eq (NULL, child2);
......@@ -464,7 +464,7 @@ START_TEST(test_node_fragment_html)
SH_NodeFragment_append_child (((struct SH_NodeFragment *) fragment1),
fragment2, NULL);
status.status = UNDEFINED;
_status_preinit (status);
text = SH_Fragment_to_html (fragment1, INLINE, 0, 1, INDENT_TEXT,
&status);
string = SH_Text_get_string (text, 0, SIZE_MAX, &length, NULL);
......@@ -472,7 +472,7 @@ START_TEST(test_node_fragment_html)
free (string);
ck_assert_int_eq (status.status, SUCCESS);
status.status = UNDEFINED;
_status_preinit (status);
text = SH_Fragment_to_html (fragment1, WRAP, 0, 1, INDENT_TEXT,
&status);
string = SH_Text_get_string (text, 0, SIZE_MAX, &length, NULL);
......
......@@ -52,7 +52,7 @@ START_TEST(test_text)
SH_Text_free (text);
status.status = UNDEFINED;
_status_preinit (status);
text = SH_Text_new (&status);
ck_assert_int_ne ((long int) text, (long int) NULL);
ck_assert_int_eq (status.status, SUCCESS);
......@@ -81,7 +81,7 @@ START_TEST(test_text_string)
/* with error */
status.status = UNDEFINED;
_status_preinit (status);
text = SH_Text_new_from_string ("12345", &status);
ck_assert_int_ne ((long int) text, (long int) NULL);
ck_assert_int_eq (status.status, SUCCESS);
......@@ -118,7 +118,7 @@ START_TEST (test_text_copy)
SH_Text_free (copy);
/* with error */
status.status = UNDEFINED;
_status_preinit (status);
copy = SH_Text_copy (text, &status);
ck_assert_int_eq (status.status, SUCCESS);
ck_assert_ptr_ne (copy, NULL);
......@@ -148,7 +148,7 @@ START_TEST(test_text_get_length)
ck_assert_int_eq (length, 0);
/* length == 0 - with error */
status.status = UNDEFINED;
_status_preinit (status);
length = SH_Text_get_length (text, &status);
ck_assert_int_eq (length, 0);
ck_assert_int_eq (status.status, SUCCESS);
......@@ -164,7 +164,7 @@ START_TEST(test_text_get_length)
ck_assert_int_eq (length, SIZE_MAX);
/* length == SIZE_MAX - with error */
status.status = UNDEFINED;
_status_preinit (status);
length = SH_Text_get_length (text, &status);
ck_assert_int_eq (length, SIZE_MAX);
ck_assert_int_eq (status.status, SUCCESS);
......@@ -176,7 +176,7 @@ START_TEST(test_text_get_length)
ck_assert_int_eq (length, SIZE_MAX);
/* length > SIZE_MAX - with error */
status.status = UNDEFINED;
_status_preinit (status);
length = SH_Text_get_length (text, &status);
ck_assert_int_eq (length, SIZE_MAX);
ck_assert_int_eq (status.status, E_DOMAIN);
......@@ -212,7 +212,7 @@ START_TEST(test_text_get_char)
/* success - with error */
for (i = 0; i < 12; i++)
{
status.status = UNDEFINED;
_status_preinit (status);
c = SH_Text_get_char (text, i, &status);
ck_assert_ptr_ne (c, NULL);
ck_assert_int_eq (*c, 97 + i);
......@@ -221,7 +221,7 @@ START_TEST(test_text_get_char)
}
/* wrong index - with error */
status.status = UNDEFINED;
_status_preinit (status);
c = SH_Text_get_char (text, 13, &status);
ck_assert_ptr_eq (c, NULL);
ck_assert_int_eq (status.status, E_VALUE);
......@@ -270,7 +270,7 @@ START_TEST(test_text_get_string)
/* single segment - with error */
status.status = UNDEFINED;
_status_preinit (status);
result = SH_Text_get_string (text, 59, 8, &length, &status);
ck_assert_str_eq (result, "<=>?@ABC");
ck_assert_int_eq (length, 8);
......@@ -278,7 +278,7 @@ START_TEST(test_text_get_string)
free (result);
/* multiple segment - with error */
status.status = UNDEFINED;
_status_preinit (status);
result = SH_Text_get_string (text, 47, 43, &length, &status);
ck_assert_str_eq (result, "0123456789:;<=>?@"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ");
......@@ -287,7 +287,7 @@ START_TEST(test_text_get_string)
free (result);
/* pass over end - with error */
status.status = UNDEFINED;
_status_preinit (status);
result = SH_Text_get_string (text, 96, 10, &length, &status);
ck_assert_str_eq (result, "abc");
ck_assert_int_eq (length, 3);
......@@ -295,7 +295,7 @@ START_TEST(test_text_get_string)
free (result);
/* out of range - without error */
status.status = UNDEFINED;
_status_preinit (status);
result = SH_Text_get_string (text, 99, 0, &length, &status);
ck_assert_ptr_eq (result, NULL);
ck_assert_int_eq (length, 0);
......@@ -345,7 +345,7 @@ START_TEST(test_text_get_range)
/* single segment - with error */
status.status = UNDEFINED;
_status_preinit (status);
result = SH_Text_get_range (text, 59, 67, &length, &status);
ck_assert_str_eq (result, "<=>?@ABC");
ck_assert_int_eq (length, 8);
......@@ -353,7 +353,7 @@ START_TEST(test_text_get_range)
free (result);
/* multiple segment - with error */
status.status = UNDEFINED;
_status_preinit (status);
result = SH_Text_get_range (text, 47, 90, &length, &status);
ck_assert_str_eq (result, "0123456789:;<=>?@"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ");
......@@ -362,7 +362,7 @@ START_TEST(test_text_get_range)
free (result);
/* pass over end - with error */
status.status = UNDEFINED;
_status_preinit (status);
result = SH_Text_get_range (text, 96, 106, &length, &status);
ck_assert_str_eq (result, "abc");
ck_assert_int_eq (length, 3);
......@@ -370,7 +370,7 @@ START_TEST(test_text_get_range)
free (result);
/* out of range - without error */
status.status = UNDEFINED;
_status_preinit (status);
result = SH_Text_get_range (text, 99, 99, &length, &status);
ck_assert_ptr_eq (result, NULL);
ck_assert_int_eq (length, 0);
......@@ -401,7 +401,7 @@ START_TEST (test_text_append)
free (string);
/* append_string - with error */
status.status = UNDEFINED;
_status_preinit (status);
boolean = SH_Text_append_string (text2, "Text2", &status);
ck_assert_int_eq (boolean, TRUE);
ck_assert_int_eq (status.status, SUCCESS);
......@@ -420,7 +420,7 @@ START_TEST (test_text_append)
free (string);
/* append_text - with error */
status.status = UNDEFINED;
_status_preinit (status);
boolean = SH_Text_append_text (text1, text2, &status);
ck_assert_int_eq (boolean, TRUE);
ck_assert_int_eq (status.status, SUCCESS);
......
......@@ -52,7 +52,7 @@ START_TEST(test_validator)
SH_Validator_free (validator);
status.status = UNDEFINED;
_status_preinit (status);
validator = SH_Validator_new (&status);
ck_assert_int_ne ((long int) validator, (long int) NULL);
ck_assert_int_eq (status.status, SUCCESS);
......@@ -163,7 +163,7 @@ START_TEST(test_validator_tag)
validator = SH_Validator_new (NULL);
/* success with error */
status.status = UNDEFINED;
_status_preinit (status);
tag = SH_Validator_register_tag (validator, tag4, &status);
ck_assert_int_eq (tag, 1);
ck_assert_int_eq (status.status, SUCCESS);
......@@ -199,7 +199,7 @@ START_TEST(test_validator_tag)
free (tagN);
status.status = UNDEFINED;
_status_preinit (status);
tag = SH_Validator_register_tag (validator, tag5, &status);
ck_assert_int_eq (tag, TAG_ERR);
ck_assert_int_eq (status.status, E_DOMAIN);
......@@ -213,7 +213,7 @@ START_TEST(test_validator_tag)
validator->tag_n = 1;
validator->last_tag = TAG_MAX;
status.status = UNDEFINED;
_status_preinit (status);
tag = SH_Validator_register_tag (validator, tag6, &status);
ck_assert_int_eq (tag, TAG_ERR);
ck_assert_int_eq (status.status, E_DOMAIN);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment