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

Attr: added has_value predicate

parent 08f60668
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=34
current_page=35
FILE_NAME_0=139;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2FREADME;0;8
FILE_NAME_1=134;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2F.gitignore;0;8
FILE_NAME_2=1751;Sh;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fconfigure.ac;0;8
......@@ -45,9 +45,9 @@ FILE_NAME_12=2022;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fp
FILE_NAME_13=2558;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Ffragment_class.c;0;8
FILE_NAME_14=36155;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fnode_fragment.c;0;8
FILE_NAME_15=6811;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fnode_fragment.h;0;8
FILE_NAME_16=5204;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fattr.c;0;8
FILE_NAME_17=3030;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fattr.h;0;8
FILE_NAME_18=3044;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fattr_static.c;0;8
FILE_NAME_16=4906;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fattr.c;0;8
FILE_NAME_17=2956;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fattr.h;0;8
FILE_NAME_18=3711;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fattr_static.c;0;8
FILE_NAME_19=1116;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fattr_data.h;0;8
FILE_NAME_20=25820;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Ftext.c;0;8
FILE_NAME_21=904;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Ftext.h;0;8
......@@ -64,7 +64,7 @@ FILE_NAME_31=218;Sh;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fp
FILE_NAME_32=1085;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_cms.c;0;8
FILE_NAME_33=3283;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_data.c;0;8
FILE_NAME_34=114262;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_node_fragment.c;0;8
FILE_NAME_35=15195;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_attr.c;0;8
FILE_NAME_35=11319;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_attr.c;0;8
FILE_NAME_36=11068;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_text.c;0;8
FILE_NAME_37=5744;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_validator.c;0;8
FILE_NAME_38=165;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftodo.txt;0;8
......
......@@ -257,6 +257,13 @@ SH_Attr_raw_set_value (struct SH_Attr * attr,
return;
}
bool
SH_Attr_has_value (const struct SH_Attr * attr)
/*@*/
{
return Attr_has_value (attr);
}
bool
SH_Attr_is_equal (const struct SH_Attr * attr1,
const struct SH_Attr * attr2)
......
......@@ -117,6 +117,10 @@ SH_Attr_raw_set_value (SH_Attr * attr,
/*@null@*/ /*@only@*/ char * value)
/*@modifies attr@*/;
bool
SH_Attr_has_value (const SH_Attr * attr)
/*@*/;
bool
SH_Attr_is_equal (const SH_Attr * attr1, const SH_Attr * attr2)
/*@*/;
......
......@@ -186,6 +186,14 @@ Attr_set_value (struct SH_Attr * attr, /*@null@*/ /*@only@*/ char * value)
return;
}
static inline
bool
Attr_has_value (const struct SH_Attr * attr)
/*@*/
{
return (NULL != attr->value);
}
static inline
bool
Attr_is_equal (const struct SH_Attr * attr1,
......
......@@ -369,6 +369,9 @@ START_TEST(test_attr_value_no_status)
value = SH_Attr_get_value (attr, NULL);
ck_assert_ptr_eq (NULL, value);
result = SH_Attr_has_value (attr);
ck_assert_int_eq (FALSE, result);
result = SH_Attr_set_value (attr, value1, NULL);
ck_assert_int_eq (TRUE, result);
ck_assert_ptr_ne (value1, attr->value);
......@@ -380,6 +383,9 @@ START_TEST(test_attr_value_no_status)
ck_assert_str_eq (value1, value);
free (value);
result = SH_Attr_has_value (attr);
ck_assert_int_eq (TRUE, result);
result = SH_Attr_set_value (attr, value2, NULL);
ck_assert_int_eq (TRUE, result);
ck_assert_ptr_ne (value2, attr->value);
......@@ -443,6 +449,7 @@ START_TEST(test_attr_value_raw)
char * value1 = strdup ("value1");
char * value2 = strdup ("value2");
const char * value;
bool result;
attr = SH_Attr_raw_new (name, NULL, NULL);
ck_assert_ptr_ne (NULL, attr);
......@@ -451,6 +458,9 @@ START_TEST(test_attr_value_raw)
value = SH_Attr_raw_get_value (attr);
ck_assert_ptr_eq (NULL, value);
result = SH_Attr_has_value (attr);
ck_assert_int_eq (FALSE, result);
SH_Attr_raw_set_value (attr, value1);
ck_assert_ptr_eq (value1, attr->value);
......@@ -458,6 +468,9 @@ START_TEST(test_attr_value_raw)
ck_assert_ptr_ne (NULL, value);
ck_assert_ptr_eq (value1, value);
result = SH_Attr_has_value (attr);
ck_assert_int_eq (TRUE, result);
SH_Attr_raw_set_value (attr, value2);
ck_assert_ptr_eq (value2, attr->value);
......
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