lkml.org 
[lkml]   [2012]   [Oct]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 09/23] zr36067: Replace memcpy with struct assignment
    Date
    This kind of memcpy() is error-prone. Its replacement with a struct
    assignment is prefered because it's type-safe and much easier to read.

    Found by coccinelle. Hand patched and reviewed.
    Tested by compilation only.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    // <smpl>
    @@
    identifier struct_name;
    struct struct_name to;
    struct struct_name from;
    expression E;
    @@
    -memcpy(&(to), &(from), E);
    +to = from;
    // </smpl>

    Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com>
    Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
    ---
    drivers/media/pci/zoran/zoran_card.c | 3 +--
    1 files changed, 1 insertions(+), 2 deletions(-)

    diff --git a/drivers/media/pci/zoran/zoran_card.c b/drivers/media/pci/zoran/zoran_card.c
    index fffc54b..cea325d 100644
    --- a/drivers/media/pci/zoran/zoran_card.c
    +++ b/drivers/media/pci/zoran/zoran_card.c
    @@ -708,8 +708,7 @@ static const struct i2c_algo_bit_data zoran_i2c_bit_data_template = {
    static int
    zoran_register_i2c (struct zoran *zr)
    {
    - memcpy(&zr->i2c_algo, &zoran_i2c_bit_data_template,
    - sizeof(struct i2c_algo_bit_data));
    + zr->i2c_algo = zoran_i2c_bit_data_template;
    zr->i2c_algo.data = zr;
    strlcpy(zr->i2c_adapter.name, ZR_DEVNAME(zr),
    sizeof(zr->i2c_adapter.name));
    --
    1.7.4.4


    \
     
     \ /
      Last update: 2012-10-24 00:01    [W:8.397 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site