[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [lvm-devel] const correctness, first cut



Petr Rockai <prockai redhat com> wrote:
>>>>  		process_each_lv_in_vg(cmd, vg, NULL, NULL, NULL,
>>>> -				      &lvdisplay_full);
>>>> +				      (process_single_lv_fn_t)lvdisplay_full);
>>>
>>> Is there a nice way to avoid those casts?
>>
>> This is where you wish for features of other languages.
>>
>> I wrote an earlier iteration that instead added a new function,
>> process_each_lv_in_vg_ro (read-only), with the appropriate
>> signature for the fn-parameter, but IMHO, that was worse,
>> and besides, wasn't worth it, for just one use.
>
> You could still add a new function that just confines the ugly cast?
> (Assuming that's not what you have done). Maybe _const instead of _ro,
> too.

That's what I did.
But *it* then has to call the original, process_each_lv_in_vg_ro,
and in so doing, it needs its own casts, in addition to the
added layer of indirection.

Adding one little cast (per call) is not pretty, but less ugly
than the alternative, since there's only one use of each.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]