lkml.org 
[lkml]   [2005]   [Sep]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 02/10] strlcat: use for uml umid.c
    Date
    From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

    Simplify the code by using strlcat() instead of strncat() and manual
    appending.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    ---

    arch/um/include/user.h | 4 +++-
    arch/um/kernel/umid.c | 11 ++++-------
    2 files changed, 7 insertions(+), 8 deletions(-)

    diff --git a/arch/um/include/user.h b/arch/um/include/user.h
    --- a/arch/um/include/user.h
    +++ b/arch/um/include/user.h
    @@ -14,7 +14,9 @@ extern void *um_kmalloc_atomic(int size)
    extern void kfree(void *ptr);
    extern int in_aton(char *str);
    extern int open_gdb_chan(void);
    -extern int strlcpy(char *, const char *, int);
    +/* These use size_t, however unsigned long is correct on both i386 and x86_64. */
    +extern unsigned long strlcpy(char *, const char *, unsigned long);
    +extern unsigned long strlcat(char *, const char *, unsigned long);
    extern void *um_vmalloc(int size);
    extern void vfree(void *ptr);

    diff --git a/arch/um/kernel/umid.c b/arch/um/kernel/umid.c
    --- a/arch/um/kernel/umid.c
    +++ b/arch/um/kernel/umid.c
    @@ -237,16 +237,13 @@ static int __init make_uml_dir(void)
    strlcpy(dir, home, sizeof(dir));
    uml_dir++;
    }
    + strlcat(dir, uml_dir, sizeof(dir));
    len = strlen(dir);
    - strncat(dir, uml_dir, sizeof(dir) - len);
    - len = strlen(dir);
    - if((len > 0) && (len < sizeof(dir) - 1) && (dir[len - 1] != '/')){
    - dir[len] = '/';
    - dir[len + 1] = '\0';
    - }
    + if (len > 0 && dir[len - 1] != '/')
    + strlcat(dir, "/", sizeof(dir));

    uml_dir = malloc(strlen(dir) + 1);
    - if(uml_dir == NULL){
    + if (uml_dir == NULL) {
    printf("make_uml_dir : malloc failed, errno = %d\n", errno);
    exit(1);
    }
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-09-21 19:53    [W:0.021 / U:1.524 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site