Hi Fu,

Luotao Fu wrote:
> Hi Wolfgang
> On Thu, Nov 26, 2009 at 02:06:42PM +0100, Wolfgang Grandegger wrote:
[snip]
>> I also realized, that the scan_get_* functions use duplicated code. A
>> "get_link" function, similar to "set_link", would make sense.
>>
>>> Thanks for reviewing
> 
> set_link was supposed to be the part with if_up/down, while
> do_set_nl_link does the real work. Since the if_up/down stuffs are to be
> exported separately, I will surely replace the now obsolete set_link
> code with do_set_nl_link.


I was referring to the repeated pattern in the scan_get_* functions e.g.:

-----------------------------------------------------------------
int scan_get_restart_ms(const char *name, __u32 *restart_ms)
{
        int fd;
        int err;

        fd = open_nl_sock();
        if (fd < 0)
                return -1;

        err = do_get_nl_link(fd, GET_RESTART_MS, name, restart_ms);

        close(fd);
        return err;

}

int scan_get_bittiming(const char *name, struct can_bittiming *bt)
{
        int fd;
        int err;

        fd = open_nl_sock();
        if (fd < 0)
                return -1;

        err = do_get_nl_link(fd, GET_BITTIMING, name, bt);
        if (err < 0)
                return -1;

        close(fd);
        return 0;
}

int scan_get_ctrlmode(const char *name, struct can_ctrlmode *cm)
{
        int fd;
        int err;

        fd = open_nl_sock();
        if (fd < 0)
                return -1;

        err = do_get_nl_link(fd, GET_CTRLMODE, name, cm);
        if (err < 0)
                return -1;

        close(fd);
        return 0;
}
-----------------------------------------------------------------

Could be replaced with:

int scan_get_restart_ms(const char *name, __u32 *restart_ms)
{
        return get_link(GET_RESTART_MS, name, restart_ms);
}

etc...

Wolfgang.
_______________________________________________
Socketcan-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/socketcan-users

Reply via email to