Hi, Chao

On 2018/4/2 21:35, Chao Yu wrote:
> On 2018/4/2 12:19, Junling Zheng wrote:
>> Now one "-O" option can support multiple features separated
>> by a comma or blank, such as:
>> feature1,feature2,... or "feature1 feature2 ..."
> 
> At a glance, can last sector number be parsed as feature name?
> 

No, we should use quotation marks to wrap whole features while separating them 
with blanks.

Thanks,
Junling

> Thanks,
> 
>>
>> Signed-off-by: Junling Zheng <zhengjunl...@huawei.com>
>> ---
>>  mkfs/f2fs_format_main.c | 30 +++++++++++++++++++++++++++---
>>  1 file changed, 27 insertions(+), 3 deletions(-)
>>
>> diff --git a/mkfs/f2fs_format_main.c b/mkfs/f2fs_format_main.c
>> index 741600e..76ff296 100644
>> --- a/mkfs/f2fs_format_main.c
>> +++ b/mkfs/f2fs_format_main.c
>> @@ -80,10 +80,8 @@ static void f2fs_show_info()
>>      MSG(0, "Info: Trim is %s\n", c.trim ? "enabled": "disabled");
>>  }
>>  
>> -static void parse_feature(const char *features)
>> +static void set_feature_bits(char *features)
>>  {
>> -    while (*features == ' ')
>> -            features++;
>>      if (!strcmp(features, "encrypt")) {
>>              c.feature |= cpu_to_le32(F2FS_FEATURE_ENCRYPT);
>>      } else if (!strcmp(features, "verity")) {
>> @@ -108,6 +106,32 @@ static void parse_feature(const char *features)
>>      }
>>  }
>>  
>> +static void parse_feature(const char *features)
>> +{
>> +    char *buf, *sub, *next;
>> +
>> +    buf = calloc(strlen(features) + 1, sizeof(char));
>> +    ASSERT(buf);
>> +    strncpy(buf, features, strlen(features) + 1);
>> +
>> +    for (sub = buf; sub && *sub; sub = next ? next + 1 : NULL) {
>> +            /* Skip the beginning blanks */
>> +            while (*sub && *sub == ' ')
>> +                    sub++;
>> +            next = sub;
>> +            /* Skip a feature word */
>> +            while (*next && *next != ' ' && *next != ',')
>> +                    next++;
>> +
>> +            if (*next == 0)
>> +                    next = NULL;
>> +            else
>> +                    *next = 0;
>> +
>> +            set_feature_bits(sub);
>> +    }
>> +}
>> +
>>  static void f2fs_parse_options(int argc, char *argv[])
>>  {
>>      static const char *option_string = "qa:c:d:e:E:il:mo:O:s:S:z:t:f";
>>
> 
> .
> 



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to