• ZhaoLong Wang's avatar
    ubifs: correct UBIFS_DFS_DIR_LEN macro definition and improve code clarity · 7037c96d
    ZhaoLong Wang authored
    The UBIFS_DFS_DIR_LEN macro, which defines the maximum length of the UBIFS
    debugfs directory name, has an incorrect formula and misleading comments.
    The current formula is (3 + 1 + 2*2 + 1), which assumes that both UBI device
    number and volume ID are limited to 2 characters. However, UBI device number
    ranges from 0 to 31 (2 characters), and volume ID ranges from 0 to 127 (up
    to 3 characters).
    
    Although the current code works due to the cancellation of mathematical
    errors (9 + 1 = 10, which matches the correct UBIFS_DFS_DIR_LEN value), it
    can lead to confusion and potential issues in the future.
    
    This patch aims to improve the code clarity and maintainability by making
    the following changes:
    
    1. Corrects the UBIFS_DFS_DIR_LEN macro definition to (3 + 1 + 2 + 3 + 1),
       accommodating the maximum lengths of both UBI device number and volume ID,
       plus the separators and null terminator.
    2. Updates the snprintf calls to use UBIFS_DFS_DIR_LEN instead of
       UBIFS_DFS_DIR_LEN + 1, removing the unnecessary +1.
    3. Modifies the error checks to compare against UBIFS_DFS_DIR_LEN using >=
       instead of >, aligning with the corrected macro definition.
    4. Removes the redundant +1 in the dfs_dir_name array definitions in ubi.h
       and debug.h.
    
    While these changes do not affect the runtime behavior, they make the code
    more readable, maintainable, and less prone to future errors.
    
    v2->v3:
    
     - Removes the duplicated UBIFS_DFS_DIR_LEN and UBIFS_DFS_DIR_NAME macro
       definitions in ubifs.h, as they are already defined in debug.h.
    Signed-off-by: default avatarZhaoLong Wang <wangzhaolong1@huawei.com>
    Reviewed-by: default avatarZhihao Cheng <chengzhihao1@huawei.com>
    Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
    7037c96d
ubi.h 41.6 KB