diff --git a/sefht.geany b/sefht.geany index 34d4c1327e24fce377ce74ff15dfa7ea4789069d..16cecf6f8f3e0a3c6500c3c6dc1422fd478c3fbf 100644 --- a/sefht.geany +++ b/sefht.geany @@ -28,33 +28,33 @@ long_line_behaviour=1 long_line_column=72 [files] -current_page=12 +current_page=22 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=1082;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Fmain.c;0;8 FILE_NAME_3=640;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2FMakefile.am;0;8 -FILE_NAME_4=1502;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fcms.c;0;8 -FILE_NAME_5=1359;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fcms.h;0;8 -FILE_NAME_6=5079;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fdata.c;0;8 -FILE_NAME_7=1376;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fdata.h;0;8 +FILE_NAME_4=944;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fcms.c;0;8 +FILE_NAME_5=1021;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fcms.h;0;8 +FILE_NAME_6=1193;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fdata.c;0;8 +FILE_NAME_7=1145;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fdata.h;0;8 FILE_NAME_8=1733;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Ffragment.c;0;8 -FILE_NAME_9=3029;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Ffragment.h;0;8 -FILE_NAME_10=7437;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_11=3013;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_12=24630;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Ftext.c;0;8 -FILE_NAME_13=1833;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Ftext.h;0;8 -FILE_NAME_14=1520;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator.c;0;8 -FILE_NAME_15=1503;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator.h;0;8 -FILE_NAME_16=10187;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_17=1828;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_9=1223;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Ffragment.h;0;8 +FILE_NAME_10=1296;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_11=2259;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_12=1384;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Ftext.c;0;8 +FILE_NAME_13=2692;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Ftext.h;0;8 +FILE_NAME_14=1212;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator.c;0;8 +FILE_NAME_15=1260;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator.h;0;8 +FILE_NAME_16=1466;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_17=1135;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_18=4232;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fstatus.h;0;8 FILE_NAME_19=1017;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Flog.h;0;4 FILE_NAME_20=1077;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fmacro.h;0;8 FILE_NAME_21=937;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fsefht.h;0;8 -FILE_NAME_22=1408;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2FMakefile.am;0;8 -FILE_NAME_23=872;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_cms.c;0;8 -FILE_NAME_24=3552;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_data.c;0;8 -FILE_NAME_25=2373;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_node_fragment.c;0;8 +FILE_NAME_22=499;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2FMakefile.am;0;8 +FILE_NAME_23=876;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_cms.c;0;8 +FILE_NAME_24=894;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_data.c;0;8 +FILE_NAME_25=952;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_node_fragment.c;0;8 FILE_NAME_26=5736;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_text.c;0;8 FILE_NAME_27=4687;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_validator.c;0;8 FILE_NAME_28=165;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftodo.txt;0;8 diff --git a/src/lib/sefht/cms.c b/src/lib/sefht/cms.c index 26a16fe6b0a767aa82340a4a5bca57fad6dc80c2..6923712b2f149658017a541aa8f070348c6b8005 100644 --- a/src/lib/sefht/cms.c +++ b/src/lib/sefht/cms.c @@ -33,6 +33,12 @@ #include "cms.h" +struct SH_Cms +{ + SH_Data * data; +}; + + struct SH_Cms * SH_Cms_new (struct SH_Status * status) { diff --git a/src/lib/sefht/cms.h b/src/lib/sefht/cms.h index f39c1dc19cf218e9faad409b7587b9d689d79369..924a433c281245b012582c5788e5f721e6c70266 100644 --- a/src/lib/sefht/cms.h +++ b/src/lib/sefht/cms.h @@ -34,16 +34,6 @@ #include "data.h" -#ifdef LIB_SEFHT_COMPILATION - -struct SH_Cms -{ - struct SH_Data * data; -}; - - -#endif /* LIB_SEFHT_COMPILATION */ - typedef struct SH_Cms SH_Cms; diff --git a/src/lib/sefht/data.c b/src/lib/sefht/data.c index 3105e2b49a469b85059c705ceef056c2bb3c2685..26a23d7b1d2e4a2f7a2d4ba107622198a5617cb8 100644 --- a/src/lib/sefht/data.c +++ b/src/lib/sefht/data.c @@ -36,6 +36,22 @@ #include "data.h" +#define NEXT_PAGE(page) page++ + +struct SH_Page +{ + page_t id; + char * name; +}; + +struct SH_Data +{ + struct SH_Validator * validator; + unsigned int page_n; + struct SH_Page * pages; + page_t last_page; +}; + static inline bool init_validator (struct SH_Data * data, struct SH_Status * status); diff --git a/src/lib/sefht/data.h b/src/lib/sefht/data.h index cc125acc69419b5fdce137439fb289824be43a3b..fd5d702d2b8b92b6da450f8acf9899680e139c0f 100644 --- a/src/lib/sefht/data.h +++ b/src/lib/sefht/data.h @@ -41,27 +41,6 @@ typedef unsigned int page_t; #define PAGE_MIN 1 #define PAGE_MAX UINT_MAX -#ifdef LIB_SEFHT_COMPILATION - -#define NEXT_PAGE(page) page++ - -struct SH_Page -{ - page_t id; - char * name; -}; - -struct SH_Data -{ - struct SH_Validator * validator; - unsigned int page_n; - struct SH_Page * pages; - page_t last_page; -}; - - -#endif /* LIB_SEFHT_COMPILATION */ - typedef struct SH_Data SH_Data; diff --git a/src/lib/sefht/fragment.h b/src/lib/sefht/fragment.h index 5eae3d54b589530c539c885f3b0ba96c4bdc45cb..9ce247596e1c971d0ac1c114c039899b350e0019 100644 --- a/src/lib/sefht/fragment.h +++ b/src/lib/sefht/fragment.h @@ -53,7 +53,7 @@ struct fragment_methods; struct SH_Fragment; struct SH_Fragment { - struct SH_Data * data; + SH_Data * data; enum SH_FRAGMENT_TYPE type; const struct fragment_methods * methods; diff --git a/src/lib/sefht/node_fragment.c b/src/lib/sefht/node_fragment.c index c899c2aec7ae9c606daec7f82b2fcade105ce449..db05ad68c8e719605c71d7c11980f76aa22328c3 100644 --- a/src/lib/sefht/node_fragment.c +++ b/src/lib/sefht/node_fragment.c @@ -40,6 +40,24 @@ #include "node_fragment.h" +struct SH_NodeFragment +{ + struct SH_Fragment base; + + char * tag; + + size_t child_n; + struct SH_Fragment ** childs; +}; + +#define OPEN_TAG_BEGIN "<" +#define OPEN_TAG_END ">" +#define CLOSE_TAG_BEGIN "</" +#define CLOSE_TAG_END ">" + +#define NEWLINE "\n" + + static const struct fragment_methods methods = { (struct SH_Fragment * (*)(struct SH_Fragment *, struct SH_Status *)) diff --git a/src/lib/sefht/node_fragment.h b/src/lib/sefht/node_fragment.h index 38d3ebe9550905e990bbb564161cbbb3031a3a46..a0d8d4f701d2b503311260ca67c9d8bf74c6840e 100644 --- a/src/lib/sefht/node_fragment.h +++ b/src/lib/sefht/node_fragment.h @@ -37,30 +37,6 @@ #include "fragment.h" -#ifdef LIB_SEFHT_COMPILATION - -struct SH_NodeFragment; -struct SH_NodeFragment -{ - struct SH_Fragment base; - - char * tag; - - size_t child_n; - struct SH_Fragment ** childs; -}; - -#define OPEN_TAG_BEGIN "<" -#define OPEN_TAG_END ">" -#define CLOSE_TAG_BEGIN "</" -#define CLOSE_TAG_END ">" - -//~ #define INDENT_TEXT "\t" -#define NEWLINE "\n" - -#endif /* LIB_SEFHT_COMPILATION */ - -/* TODO: no-export */ #define INDENT_TEXT "\t" typedef struct SH_NodeFragment SH_NodeFragment; diff --git a/src/lib/sefht/text.c b/src/lib/sefht/text.c index 2bad83d76f9fe4d86959cf0a43e29ef281ad7847..9ffda548f4c71330636e5d1e6cd6d5a4e6ba6beb 100644 --- a/src/lib/sefht/text.c +++ b/src/lib/sefht/text.c @@ -36,6 +36,31 @@ #include "text.h" +#ifndef CHUNK_SIZE +#define CHUNK_SIZE 64 +#endif /* CHUNK_SIZE */ + +#if CHUNK_SIZE == 0 +#error "CHUNK_SIZE can't be 0." +#endif /* CHUNK_SIZE == 0 */ + +/*@abstract@*/ +struct text_segment; +struct text_segment +{ + size_t length; + size_t size; + char * text; + /*@relnull@*/ struct text_segment * next; +}; + +/*@abstract@*/ +struct SH_Text +{ + /*@notnull@*/ struct text_segment * data; +}; + + /*@null@*/ /*@only@*/ struct SH_Text * diff --git a/src/lib/sefht/text.h b/src/lib/sefht/text.h index 9a3439079cc67922c3bef4f90df5f6cb17fed768..63775feb1061c8c4ca83b9342b2326f7cef6cecd 100644 --- a/src/lib/sefht/text.h +++ b/src/lib/sefht/text.h @@ -34,72 +34,44 @@ #include "status.h" -#ifdef LIB_SEFHT_COMPILATION - -#ifndef CHUNK_SIZE -#define CHUNK_SIZE 64 -#endif /* CHUNK_SIZE */ - -#if CHUNK_SIZE == 0 -#error "CHUNK_SIZE can't be 0." -#endif /* CHUNK_SIZE == 0 */ - -/*@abstract@*/ -struct text_segment; -struct text_segment -{ - size_t length; - size_t size; - char * text; - /*@relnull@*/ struct text_segment * next; -}; - -/*@abstract@*/ -struct SH_Text -{ - /*@notnull@*/ struct text_segment * data; -}; - -#endif /* LIB_SEFHT_COMPILATION */ - typedef /*@abstract@*/ struct SH_Text SH_Text; /*@null@*/ /*@only@*/ -struct SH_Text * +SH_Text * SH_Text_new (/*@null@*/ /*@out@*/ struct SH_Status * status); /*@null@*/ /*@only@*/ -struct SH_Text * +SH_Text * SH_Text_new_from_string (const char * string, /*@null@*/ /*@out@*/ struct SH_Status * status); void -SH_Text_free (/*@only@*/ struct SH_Text * text); +SH_Text_free (/*@only@*/ SH_Text * text); /*@null@*/ /*@only@*/ -struct SH_Text * -SH_Text_copy (const struct SH_Text * text, +SH_Text * +SH_Text_copy (const SH_Text * text, /*@null@*/ /*@out@*/ struct SH_Status * status); size_t -SH_Text_get_length (const struct SH_Text * text, +SH_Text_get_length (const SH_Text * text, /*@null@*/ /*@out@*/ struct SH_Status * status); /*@null@*/ /*@only@*/ char * -SH_Text_get_char (const struct SH_Text * text, +SH_Text_get_char (const SH_Text * text, size_t index, /*@null@*/ /*@out@*/ struct SH_Status * status); /*@null@*/ /*@only@*/ char * -SH_Text_get_string (const struct SH_Text * text, +SH_Text_get_string (const SH_Text * text, size_t index, size_t offset, /*@null@*/ /*@out@*/ size_t * length, /*@null@*/ /*@out@*/ struct SH_Status * status); @@ -107,26 +79,25 @@ SH_Text_get_string (const struct SH_Text * text, /*@null@*/ /*@only@*/ char * -SH_Text_get_range (const struct SH_Text * text, +SH_Text_get_range (const SH_Text * text, size_t start, size_t end, /*@null@*/ /*@out@*/ size_t * length, /*@null@*/ /*@out@*/ struct SH_Status * status); bool -SH_Text_append_string (struct SH_Text * text, +SH_Text_append_string (SH_Text * text, const char * string, /*@null@*/ /*@out@*/ struct SH_Status * status); bool -SH_Text_append_text (struct SH_Text * text, - const struct SH_Text * text2, +SH_Text_append_text (SH_Text * text, + const SH_Text * text2, /*@null@*/ /*@out@*/ struct SH_Status * status); void -SH_Text_join (struct SH_Text * text, - /*@only@*/ struct SH_Text * text2); +SH_Text_join (SH_Text * text, /*@only@*/ SH_Text * text2); void -SH_Text_print (const struct SH_Text * text); +SH_Text_print (const SH_Text * text); #endif /* __TEXT_H__ */ diff --git a/src/lib/sefht/validator.c b/src/lib/sefht/validator.c index 4f871f65b26a3da9f46db832f20ce97fe0f09007..f5d15af33eac9415bab7fabb8a8906a30de90e8f 100644 --- a/src/lib/sefht/validator.c +++ b/src/lib/sefht/validator.c @@ -30,9 +30,24 @@ #include "validator.h" +/* "validator_tag.c" is included twice, + * because TAG_DATA must be defined, + * before SH_VAlidator can be defined, + * but SH_Validator must be defined, + * before the functions in "validator_tag.c" + * can use the definition, which themselves + * are needed before the functions in this + * file can be defined. */ +#include "validator_tag.c" +struct SH_Validator +{ + TAG_DATA +}; +#define VALIDATOR_IS_DEFINED #include "validator_tag.c" + /*@null@*/ struct SH_Validator * SH_Validator_new (/*@null@*/ /*@out@*/ struct SH_Status * status) diff --git a/src/lib/sefht/validator.h b/src/lib/sefht/validator.h index 6afdbd93fe601993ff9a731d27bc1b2d5856d681..d06b721d1642cd99fe002e8f9d41c6a460d43078 100644 --- a/src/lib/sefht/validator.h +++ b/src/lib/sefht/validator.h @@ -38,22 +38,13 @@ typedef struct SH_Validator SH_Validator; #include "validator_tag.h" #undef __VALIDATOR_H_INSIDE__ -#ifdef LIB_SEFHT_COMPILATION - -struct SH_Validator -{ - TAG_DATA -}; - -#endif /* LIB_SEFHT_COMPILATION */ - /*@null@*/ SH_Validator * SH_Validator_new (/*@null@*/ /*@out@*/ struct SH_Status * status); /*@null@*/ -struct SH_Validator * +SH_Validator * SH_Validator_copy (const SH_Validator * validator, /*@null@*/ /*@out@*/ struct SH_Status * status); diff --git a/src/lib/sefht/validator_tag.c b/src/lib/sefht/validator_tag.c index 1bdf6989fd15f9cdd883a6e51298e695c65182b5..59c485a22aa928da7c39b39251bb3e0ffac0bb92 100644 --- a/src/lib/sefht/validator_tag.c +++ b/src/lib/sefht/validator_tag.c @@ -34,6 +34,30 @@ #include "validator_tag.h" +#ifndef VALIDATOR_IS_DEFINED + +#define NEXT_TAG(tag) (tag + 1) + +struct tag_info +{ + union + { + struct + { + Tag id; + /*@only@*/ char * name; + } data; + size_t next; + }; +}; + +#define TAG_DATA \ + /*@only@*/ struct tag_info * tags; \ + size_t tag_n; \ + Tag last_tag; \ + +#else /* VALIDATOR_IS_DEFINED */ + static inline bool init_tags (/*@out@*/ struct SH_Validator * validator, @@ -526,3 +550,5 @@ SH_Validator_deregister_tag (struct SH_Validator * validator, { return remove_tag (validator, id, status); } + +#endif /* VALIDATOR_IS_DEFINED */ diff --git a/src/lib/sefht/validator_tag.h b/src/lib/sefht/validator_tag.h index c5ec3d99a9a94eb9f0547a09591abb4341dbf64e..8ccbe31cedd1a957399f7483f970ee74bcdbb4f2 100644 --- a/src/lib/sefht/validator_tag.h +++ b/src/lib/sefht/validator_tag.h @@ -40,32 +40,6 @@ typedef unsigned int Tag; #define TAG_MIN (Tag) 1 #define TAG_MAX (Tag) SIZE_MAX -#ifdef LIB_SEFHT_COMPILATION - -#define NEXT_TAG(tag) (tag + 1) - -struct tag_info -{ - union - { - struct - { - Tag id; - /*@only@*/ char * name; - } data; - size_t next; - }; -}; - -#define TAG_DATA \ - /*@only@*/ struct tag_info * tags; \ - size_t tag_n; \ - Tag last_tag; \ - - -#endif /* LIB_SEFHT_COMPILATION */ - - Tag SH_Validator_register_tag (SH_Validator * validator, diff --git a/tests/Makefile.am b/tests/Makefile.am index ad3158300aeb2ae5c66eb21677424b941fb20db2..e75da677f5feca9d4c6b143a7a68f8a891c58b84 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -20,20 +20,17 @@ OBJECT_PREFIX = $(top_builddir)/src/lib/sefht/libsefht_la- sefht_cms_test_SOURCES = test_cms.c sefht_cms_test_LDADD = -sefht_cms_test_LDADD += $(OBJECT_PREFIX)cms.o sefht_cms_test_LDADD += $(OBJECT_PREFIX)data.o sefht_cms_test_LDADD += $(OBJECT_PREFIX)validator.o sefht_cms_test_LDADD += $(LDADD) sefht_data_test_SOURCES = test_data.c sefht_data_test_LDADD = -sefht_data_test_LDADD += $(OBJECT_PREFIX)data.o sefht_data_test_LDADD += $(OBJECT_PREFIX)validator.o sefht_data_test_LDADD += $(LDADD) sefht_node_fragment_test_SOURCES = test_node_fragment.c sefht_node_fragment_test_LDADD = -sefht_node_fragment_test_LDADD += $(OBJECT_PREFIX)node_fragment.o sefht_node_fragment_test_LDADD += $(OBJECT_PREFIX)data.o sefht_node_fragment_test_LDADD += $(OBJECT_PREFIX)fragment.o sefht_node_fragment_test_LDADD += $(OBJECT_PREFIX)text.o diff --git a/tests/test_cms.c b/tests/test_cms.c index d8aa046f330daf3ca175f797fccd04a0f2baf581..8d0ab8cd570e63afbed48fbfdc9200e942cbac77 100644 --- a/tests/test_cms.c +++ b/tests/test_cms.c @@ -26,7 +26,8 @@ #include <stdlib.h> #include "status.h" -#include "cms.h" + +#include "cms.c" START_TEST(test_cms) diff --git a/tests/test_data.c b/tests/test_data.c index b8f02db44e77376e0a7e738bc351f5f5a856c4c6..0b7595f67509860f0dcc437480e42ff8b4b1bccf 100644 --- a/tests/test_data.c +++ b/tests/test_data.c @@ -26,7 +26,8 @@ #include <stdlib.h> #include "status.h" -#include "data.h" + +#include "data.c" START_TEST(test_data) diff --git a/tests/test_node_fragment.c b/tests/test_node_fragment.c index be2e1a3ea010eccd065aca56b7a0d109af2e21b4..d50363e142d92e0915cc04a196a6400acf1b99e0 100644 --- a/tests/test_node_fragment.c +++ b/tests/test_node_fragment.c @@ -28,7 +28,8 @@ #include "macro.h" #include "status.h" -#include "node_fragment.h" + +#include "node_fragment.c" START_TEST(test_node_fragment)