Modified Funkwhale sanitiser scheme
This commit is contained in:
parent
3acc093cdd
commit
e6b5688e45
16
src/sonic.c
16
src/sonic.c
|
@ -319,14 +319,16 @@ XML_parser_general(void *data, const char *elem, const char **attr)
|
||||||
LinkTable_add(linktbl, link);
|
LinkTable_add(linktbl, link);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sanitize_LinkTable(LinkTable *linktbl) {
|
static void sanitise_LinkTable(LinkTable *linktbl) {
|
||||||
for (int i = 0; i < linktbl->num; i++) {
|
for (int i = 0; i < linktbl->num; i++) {
|
||||||
if (strcmp(linktbl->links[i]->linkname, ".") == 0) {
|
if (!strcmp(linktbl->links[i]->linkname, ".")) {
|
||||||
strcpy(linktbl->links[i]->linkname, "dot");
|
/* Note the super long sanitised name to avoid collision */
|
||||||
|
strcpy(linktbl->links[i]->linkname, "__DOT__");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp(linktbl->links[i]->linkname, "/") == 0) {
|
if (!strcmp(linktbl->links[i]->linkname, "/")) {
|
||||||
strcpy(linktbl->links[i]->linkname, "slash");
|
/* Ditto */
|
||||||
|
strcpy(linktbl->links[i]->linkname, "__FORWARD-SLASH__");
|
||||||
}
|
}
|
||||||
|
|
||||||
for (size_t j = 0; j < strlen(linktbl->links[i]->linkname); j++) {
|
for (size_t j = 0; j < strlen(linktbl->links[i]->linkname); j++) {
|
||||||
|
@ -336,7 +338,7 @@ static void sanitize_LinkTable(LinkTable *linktbl) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (linktbl->links[i]->next_table != NULL) {
|
if (linktbl->links[i]->next_table != NULL) {
|
||||||
sanitize_LinkTable(linktbl->links[i]->next_table);
|
sanitise_LinkTable(linktbl->links[i]->next_table);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -377,7 +379,7 @@ static LinkTable *sonic_url_to_LinkTable(const char *url,
|
||||||
|
|
||||||
LinkTable_print(linktbl);
|
LinkTable_print(linktbl);
|
||||||
|
|
||||||
sanitize_LinkTable(linktbl);
|
sanitise_LinkTable(linktbl);
|
||||||
|
|
||||||
return linktbl;
|
return linktbl;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue