diff --git a/sefht.geany b/sefht.geany
index 16cecf6f8f3e0a3c6500c3c6dc1422fd478c3fbf..e7e86fdbb3ffea72ed01fc420996b18591c90f0d 100644
--- a/sefht.geany
+++ b/sefht.geany
@@ -28,14 +28,14 @@ long_line_behaviour=1
 long_line_column=72
 
 [files]
-current_page=22
+current_page=24
 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=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_6=4511;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=1223;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Ffragment.h;0;8
@@ -53,7 +53,7 @@ FILE_NAME_20=1077;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fp
 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=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_24=3168;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
diff --git a/src/lib/sefht/data.c b/src/lib/sefht/data.c
index 26a23d7b1d2e4a2f7a2d4ba107622198a5617cb8..df206e0878b6148542351d975fc6a251b4779aba 100644
--- a/src/lib/sefht/data.c
+++ b/src/lib/sefht/data.c
@@ -24,6 +24,7 @@
 
 #include <errno.h>
 #include <stdbool.h>
+#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 
@@ -47,7 +48,7 @@ struct SH_Page
 struct SH_Data
 {
 	struct SH_Validator * validator;
-	unsigned int page_n;
+	size_t page_n;
 	struct SH_Page * pages;
 	page_t last_page;
 };
@@ -157,7 +158,7 @@ init_pages (struct SH_Data * data)
 static inline void
 free_pages (struct SH_Data * data)
 {
-	unsigned int index;
+	size_t index;
 
 	for (index = 0; index < data->page_n; index++)
 	{
@@ -173,7 +174,7 @@ SH_Data_register_page (struct SH_Data * data, const char * name,
                        struct SH_Status * status)
 {
 	/* abort on overflow */
-	if (data->page_n == UINT_MAX || data->last_page == PAGE_MAX)
+	if ((data->last_page == PAGE_MAX) || (data->page_n == SIZE_MAX))
 	{
 		set_status (status, E_DOMAIN, 0,
 		            "Maximum number of pages reached.\n");
diff --git a/tests/test_data.c b/tests/test_data.c
index 0b7595f67509860f0dcc437480e42ff8b4b1bccf..b4efea46a96408bb5bda1ec5bec4e1ea1d63b336 100644
--- a/tests/test_data.c
+++ b/tests/test_data.c
@@ -80,12 +80,12 @@ START_TEST(test_data_register_page)
 	ck_assert_str_eq (data->pages[0].name, page1);
 
 	/* fail without error */
-	data->page_n = UINT_MAX;
+	data->page_n = SIZE_MAX;
 
 	page = SH_Data_register_page (data, page2, NULL);
 	ck_assert_int_eq (page, PAGE_ERR);
 
-	ck_assert_int_eq (data->page_n, UINT_MAX);
+	ck_assert_int_eq (data->page_n, SIZE_MAX);
 	ck_assert_int_eq (data->last_page, 1);
 
 	/* fail2 without error */
@@ -113,14 +113,14 @@ START_TEST(test_data_register_page)
 	ck_assert_str_eq (data->pages[1].name, page4);
 
 	/* fail with error */
-	data->page_n = UINT_MAX;
+	data->page_n = SIZE_MAX;
 
 	status.status = UNDEFINED;
 	page = SH_Data_register_page (data, page5, &status);
 	ck_assert_int_eq (page, PAGE_ERR);
 	ck_assert_int_eq (status.status, E_DOMAIN);
 
-	ck_assert_int_eq (data->page_n, UINT_MAX);
+	ck_assert_int_eq (data->page_n, SIZE_MAX);
 	ck_assert_int_eq (data->last_page, 2);
 
 	/* fail2 with error */