Allow more characters in partition name links
We have several partitions with underscores in their names
which would not be properly linked in:
/dev/block/platform/msm_sdcc.1/by-name/
With this change more characters (_-.) are allowed in
partition name links. Also, any other character is
replaced with '_' so the resulting link names have the
same length as the partition name.
Change-Id: I746566c03db98b10326c755692362d2c10e528ae
diff --git a/init/util.c b/init/util.c
index 918bc05..76af9e5 100755
--- a/init/util.c
+++ b/init/util.c
@@ -305,14 +305,27 @@
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;