Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5954ecb8 authored by Colin Cross's avatar Colin Cross Committed by Gerrit Code Review
Browse files

Merge "Allow more characters in partition name links"

parents 596ee9ea 93ca79b4
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -451,6 +451,8 @@ static char **parse_platform_block_device(struct uevent *uevent)
    if (uevent->partition_name) {
        p = strdup(uevent->partition_name);
        sanitize(p);
        if (strcmp(uevent->partition_name, p))
            NOTICE("Linking partition '%s' as '%s'\n", uevent->partition_name, p);
        if (asprintf(&links[link_num], "%s/by-name/%s", link_path, p) > 0)
            link_num++;
        else
+16 −3
Original line number Diff line number Diff line
@@ -305,14 +305,27 @@ int mkdir_recursive(const char *pathname, mode_t mode)
    return 0;
}

/*
 * replaces any unacceptable characters with '_', the
 * length of the resulting string is equal to the input string
 */
void sanitize(char *s)
{
    const char* accept =
            "abcdefghijklmnopqrstuvwxyz"
            "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
            "0123456789"
            "_-.";

    if (!s)
        return;
    while (isalnum(*s))
        s++;
    *s = 0;

    for (; *s; s++) {
        s += strspn(s, accept);
        if (*s) *s = '_';
    }
}

void make_link(const char *oldpath, const char *newpath)
{
    int ret;