On 10/7/14, 6:31 PM, Ángel González wrote:

>>> Changing it to return 0 instead of '\0' would probably be more clear.
>>> No need to return a pointer to a static empty string.
>>
>> It depends on how you want the function to work.  It is nice to
>> differentiate between the cases where there is no shell input line
>> at all, where the index is just wrong, and the actual current input
>> pointer.  A "" indicates the second case better than a 0, though it's
>> not perfect.
>>
>> Chet
> 
> 
> Note it **is** returning NULL, not "" as it seemed implied by earlier
> messages. Only verified gcc (4.9.1) behavior, but that's also what I
> expected from the C code:  '\0' (char) promoted to 0 (int), then to 
> NULL (char*)

Yes, that's right.  The question is whether that case of the index out
of bounds should continue to return NULL, but in a clearer way, or
return "" to differentiate it from the case where shell_input_line is
NULL.


-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU    c...@case.edu    http://cnswww.cns.cwru.edu/~chet/

Reply via email to