[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