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