[Asterisk-Dev] [RFC] strncpy -> ast_copy_string
Steve Kann
stevek at stevek.com
Tue May 3 12:23:38 MST 2005
Brian West wrote:
> I also have another question.. why didn't we just override strncpy and
> strlen with our own functions to call them how we want.. instead of
> comign up with ast_strlen_zero and ast_string_copy?
Because ast_strlen_zero != strlen, and ast_string_copy != strncpy. If we
put macros that redefined these things inside asterisk.h or something,
and a programmer expected the behavior of one of these real functions in
a module or something, it would be quite surprising for them.
It's especially the case for ast_strlen_zero, which is nothing at all
like strlen, where the string you're working on is 2 or more chars..
for strncpy, the distinction would be subtler, I guess.
-SteveK
>
> /b
>
> On May 2, 2005, at 8:13 PM, Jeffrey C. Ollie wrote:
>
>> On Mon, 2005-05-02 at 16:46 -0700, Luigi Rizzo wrote:
>>
>>>
>>> i am fine with that, but i am unhappy about the mixture, in the code,
>>> of symbolic constants and magic numbers for apparently similar fields.
>>>
>>> If you support variable size strings you pretty much know that
>>> truncations may only occur when you put strings into protocol messages;
>>> with the current approach they might happen somewhere in the
>>> middle of the chain, and it may be hard to tell where.
>>>
>>
>> This probably has to do with the fact that Asterisk is an active project
>> with a lot of contributors. You're right that this could lead to
>> problems. Someone with some interest needs to sit down with the code
>> and come up with a patch. (hint, hint)
>>
>> Jeff
>>
>> _______________________________________________
>> Asterisk-Dev mailing list
>> Asterisk-Dev at lists.digium.com
>> http://lists.digium.com/mailman/listinfo/asterisk-dev
>> To UNSUBSCRIBE or update options visit:
>> http://lists.digium.com/mailman/listinfo/asterisk-dev
>
>
> _______________________________________________
> Asterisk-Dev mailing list
> Asterisk-Dev at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-dev
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-dev
>
More information about the asterisk-dev
mailing list