Modified Funkwhale sanitiser scheme

This commit is contained in:
Fufu Fang 2022-11-06 23:45:13 +00:00
parent 3acc093cdd
commit e6b5688e45
No known key found for this signature in database
GPG Key ID: 0F6BB5EF6F8BB729
1 changed files with 9 additions and 7 deletions

View File

@ -319,14 +319,16 @@ XML_parser_general(void *data, const char *elem, const char **attr)
LinkTable_add(linktbl, link);
}
static void sanitize_LinkTable(LinkTable *linktbl) {
static void sanitise_LinkTable(LinkTable *linktbl) {
for (int i = 0; i < linktbl->num; i++) {
if (strcmp(linktbl->links[i]->linkname, ".") == 0) {
strcpy(linktbl->links[i]->linkname, "dot");
if (!strcmp(linktbl->links[i]->linkname, ".")) {
/* Note the super long sanitised name to avoid collision */
strcpy(linktbl->links[i]->linkname, "__DOT__");
}
if (strcmp(linktbl->links[i]->linkname, "/") == 0) {
strcpy(linktbl->links[i]->linkname, "slash");
if (!strcmp(linktbl->links[i]->linkname, "/")) {
/* Ditto */
strcpy(linktbl->links[i]->linkname, "__FORWARD-SLASH__");
}
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) {
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);
sanitize_LinkTable(linktbl);
sanitise_LinkTable(linktbl);
return linktbl;