Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

vold: replace strsep by strtok_r

It permits more white spaces between words in vold.fstab.

Change-Id: I38250c3dcc860643e4f102e980fe844693a1451a
  • Loading branch information...
commit 74ca25a716a060b4f676277262d112b569c5fbd2 1 parent 09f774b
Jinho You authored Jean-Baptiste Queru committed
Showing with 8 additions and 7 deletions.
  1. +8 −7 main.cpp
View
15 main.cpp
@@ -177,7 +177,8 @@ static int process_config(VolumeManager *vm) {
}
while(fgets(line, sizeof(line), fp)) {
- char *next = line;
+ const char *delim = " \t";
+ char *save_ptr;
char *type, *label, *mount_point;
n++;
@@ -186,24 +187,24 @@ static int process_config(VolumeManager *vm) {
if (line[0] == '#' || line[0] == '\0')
continue;
- if (!(type = strsep(&next, " \t"))) {
+ if (!(type = strtok_r(line, delim, &save_ptr))) {
SLOGE("Error parsing type");
goto out_syntax;
}
- if (!(label = strsep(&next, " \t"))) {
+ if (!(label = strtok_r(NULL, delim, &save_ptr))) {
SLOGE("Error parsing label");
goto out_syntax;
}
- if (!(mount_point = strsep(&next, " \t"))) {
+ if (!(mount_point = strtok_r(NULL, delim, &save_ptr))) {
SLOGE("Error parsing mount point");
goto out_syntax;
}
if (!strcmp(type, "dev_mount")) {
DirectVolume *dv = NULL;
- char *part, *sysfs_path;
+ char *part;
- if (!(part = strsep(&next, " \t"))) {
+ if (!(part = strtok_r(NULL, delim, &save_ptr))) {
SLOGE("Error parsing partition");
goto out_syntax;
}
@@ -218,7 +219,7 @@ static int process_config(VolumeManager *vm) {
dv = new DirectVolume(vm, label, mount_point, atoi(part));
}
- while((sysfs_path = strsep(&next, " \t"))) {
+ while (char *sysfs_path = strtok_r(NULL, delim, &save_ptr)) {
if (dv->addPath(sysfs_path)) {
SLOGE("Failed to add devpath %s to volume %s", sysfs_path,
label);
Please sign in to comment.
Something went wrong with that request. Please try again.