diff options
author | Sheng Yong <shengyong1@huawei.com> | 2015-11-30 10:41:06 +0000 |
---|---|---|
committer | Greg Wallace <greg@gregtwallace.com> | 2016-01-19 22:02:19 -0500 |
commit | 5da4595135326c72bda44e760a098d5d2e5db667 (patch) | |
tree | 6801c0a2678e2bf3ce7e4cade8357d32cabf4c89 | |
parent | e89637e006e7bb2cc660f6f6d42ca7da8005a687 (diff) | |
download | android_external_f2fs-tools-5da4595135326c72bda44e760a098d5d2e5db667.tar.gz android_external_f2fs-tools-5da4595135326c72bda44e760a098d5d2e5db667.tar.bz2 android_external_f2fs-tools-5da4595135326c72bda44e760a098d5d2e5db667.zip |
mkfs.f2fs: avoid dumplicate extensions
Before copying an user specified extension to extension_list, check if it
is already in the list. User specified extensions are delimitted by token
either ',' or ' '.
Change-Id: I107542643f79f96dde19c1d3a9d375a771392acf
Signed-off-by: Sheng Yong <shengyong1@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r-- | mkfs/f2fs_format.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/mkfs/f2fs_format.c b/mkfs/f2fs_format.c index 176bdea..a29d7ef 100644 --- a/mkfs/f2fs_format.c +++ b/mkfs/f2fs_format.c @@ -118,6 +118,19 @@ const char *media_ext_lists[] = { NULL }; +static bool is_extension_exist(const char *name) +{ + int i; + + for (i = 0; i < F2FS_MAX_EXTENSION; i++) { + char *ext = (char *)sb.extension_list[i]; + if (!strcmp(ext, name)) + return 1; + } + + return 0; +} + static void configure_extension_list(void) { const char **extlist = media_ext_lists; @@ -141,11 +154,12 @@ static void configure_extension_list(void) return; /* add user ext list */ - ue = strtok(ext_str, ","); + ue = strtok(ext_str, ", "); while (ue != NULL) { name_len = strlen(ue); - memcpy(sb.extension_list[i++], ue, name_len); - ue = strtok(NULL, ","); + if (!is_extension_exist(ue)) + memcpy(sb.extension_list[i++], ue, name_len); + ue = strtok(NULL, ", "); if (i >= F2FS_MAX_EXTENSION) break; } |