On Fri, Apr 19, 2013 at 09:39:17 +0300, Mihail Costea wrote:
> On 19 April 2013 15:38, Antonio Quartulli <[email protected]> wrote:
> >
> > I think this define is pretty overkill..What about creating a function which
> > only takes care of converting a generic DHT data in a string. Later you can
> > invoke this function when you want to print an IPv4/6 using batadv_dbg.
> >
> > Here is an example:
> >
> > char *batadv_dat_data_to_str(struct batadv_dat_entry *dat_entry,
> >                              const char *buf, size_t buf_len)
> > {
> >         /* do something and put the string representation of the entry in 
> > the
> >          * buf, without exceeding buf_len.
> >          * Remember to use IS_ENABLED(CONFIG_IPV6) inside
> >          */
> >
> >
> >         return buf;
> > }
> >
> > Then you can call it directly as parameter of a batdv_dbg function. E.g:
> >
> > batadv_dbg(....," %s\n", batadv_dat_data_to_str(entry, buf, buf_len));
> >
> > I think this approach would be better and easy to extend for future data 
> > types.
> > If you like this approach, what do you think about sending a patch now to 
> > add
> > this function to the current code?
> >
> 
> This could work. buf could be a string with a given pattern inside
> (let's say %data, or something similar) that would be automatically
> converted to the right type (like %pI4, or %pI6c.

mh..I did not quite get this..If you know how to implement this "pattern
substitution" you can send a patch with that. Otherwise what I proposed above is
just another way of doing that, which is at least simpler and easier to read
than the macro you proposed before (imho)


Cheers,

-- 
Antonio Quartulli

..each of us alone is worth nothing..
Ernesto "Che" Guevara

Attachment: signature.asc
Description: Digital signature

Reply via email to