diff --git a/sefht.geany b/sefht.geany index 5bbbe47b572d6466fc12a1e52737cec8033c56da..a14e19abae447b5da39d15d8d2756481c9976a39 100644 --- a/sefht.geany +++ b/sefht.geany @@ -28,7 +28,7 @@ long_line_behaviour=1 long_line_column=72 [files] -current_page=54 +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=1737;Sh;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fconfigure.ac;0;8 @@ -61,10 +61,10 @@ FILE_NAME_28=1867;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fp FILE_NAME_29=3036;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator.c;0;8 FILE_NAME_30=1159;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator.h;0;8 FILE_NAME_31=1111;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator_html.h;0;8 -FILE_NAME_32=13741;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_32=14059;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_33=1148;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_34=1124;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator_tag_data.h;0;8 -FILE_NAME_35=15732;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator_attr.c;0;8 +FILE_NAME_35=13076;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator_attr.c;0;8 FILE_NAME_36=1682;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator_attr.h;0;8 FILE_NAME_37=1111;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator_attr_data.h;0;8 FILE_NAME_38=924;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fstatus.h;0;8 @@ -84,7 +84,7 @@ FILE_NAME_51=994;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fpr FILE_NAME_52=2447;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_validator.c;0;8 FILE_NAME_53=3880;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_validator_tag.c;0;8 FILE_NAME_54=29231;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_validator_attr.c;0;8 -FILE_NAME_55=667;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftodo.txt;0;8 +FILE_NAME_55=547;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftodo.txt;0;8 FILE_NAME_56=201;YAML;0;EUTF-8;0;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2F.gitlab-ci.yml;0;4 FILE_NAME_57=71;Sh;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fgitlab-ci%2Fupload.sh.in;0;8 FILE_NAME_58=806;Sh;0;EUTF-8;0;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fgitlab-ci%2Frelease.sh.in;0;4 diff --git a/src/lib/sefht/validator_attr.c b/src/lib/sefht/validator_attr.c index 5f42049fe7cd4f3a99a721085c33680d16670d3d..72101f872d56e5a9552c438ad9a70ed0212e23fb 100644 --- a/src/lib/sefht/validator_attr.c +++ b/src/lib/sefht/validator_attr.c @@ -565,14 +565,13 @@ remove_attr (struct SH_Validator * validator, { struct attr_info attr_data; struct attr_info * new_attrs; - size_t index2; /* preserve data as realloc may fail */ attr_data = validator->attrs[index]; - for (index2 = index; index2 < validator->attr_n-1; index2++) + for (size_t i = index; i < validator->attr_n-1; i++) { - validator->attrs[index2] = validator->attrs[index2+1]; + validator->attrs[i] = validator->attrs[i+1]; } new_attrs = realloc (validator->attrs, @@ -583,11 +582,9 @@ remove_attr (struct SH_Validator * validator, { set_status (status, E_ALLOC, 3, "realloc failed"); - for (index2 = index; index2 < validator->attr_n-1; - index2++) + for (size_t i = validator->attr_n-1; i > index; i--) { - validator->attrs[index2+1] = - validator->attrs[index2]; + validator->attrs[i] = validator->attrs[i-1]; } validator->attrs[index] = attr_data; diff --git a/src/lib/sefht/validator_tag.c b/src/lib/sefht/validator_tag.c index 9a24acf32f6600d6747f6629839df3d12bf123fa..e52ca80278b22747d2db5be7278c596b6fe71319 100644 --- a/src/lib/sefht/validator_tag.c +++ b/src/lib/sefht/validator_tag.c @@ -595,7 +595,6 @@ remove_tag (struct SH_Validator * validator, Tag id, { struct tag_info * new_tags; char * name; - size_t index2; /* don't free name yet, as realloc may fail */ name = tags[index].name; @@ -606,9 +605,9 @@ remove_tag (struct SH_Validator * validator, Tag id, return FALSE; } - for (index2 = index; index2 < tag_n-1; index2++) + for (size_t i = index; i < tag_n-1; i++) { - tags[index2] = tags[index2+1]; + tags[i] = tags[i+1]; } new_tags = realloc (tags, sizeof (struct tag_info) @@ -617,14 +616,14 @@ remove_tag (struct SH_Validator * validator, Tag id, { set_status (status, E_ALLOC, 3, "realloc failed"); - for (index2 = index; index2 < tag_n-1; index2++) + for (size_t i = tag_n-1; i > index; i++) { - tags[index2+1] = tags[index2]; + tags[i] = tags[i-1]; } /* bad code to silence splint, should never be executed. */ #ifdef S_SPLINT_S - tags = (void *) 0x12345; + new_tags = (void *) 0x12345; #endif return FALSE; diff --git a/todo.txt b/todo.txt index 3c9b4df92fb45ea9bfa7d898c5791f2863890eb2..ace9c8e080c683bcc9d87b73068a03012289049e 100644 --- a/todo.txt +++ b/todo.txt @@ -22,6 +22,5 @@ Fragment: - support for mapping special chars -> html entities Validator: -- bugfix: remove_attr: failure recovery, fix move back loop - remove unnecessary ids - tests missing for deregister_tag