Autor: Marc Perkel Data: A: Dave Evans CC: exim-users Assumpte: Re: [exim] More integer annoyances in 4.65
Dave Evans wrote: > On Wed, Jan 03, 2007 at 08:46:28AM -0800, Marc Perkel wrote:
>
>> David Saez Padros wrote:
>>
>>> ... you are doing something wrong, only numbers should be
>>> comprable with numbers. ... If the string to compare is not a number
>>> (including an empty string) this is an error ...
>>>
>
> FWIW I concur with that. Performing numeric operations on non-numeric
> operands is an error, and should be detected and stopped ASAP.
>
>
>> A null and a blank string are not the same thing either. Are you going
>> to treat strings that way too?
>>
>
> Not a fair comparison IMO, because although variables can be null, the result
> of string expansion can (AFAIK) never be null. (e.g. h_Cc may be null, but
> expanding $h_Cc: yields the empty string). Since the operands of string ops
> (e.g. eq) are always acquired by first performing a string expansion, which
> can *only* yield a (possibly empty) string, the operands can never be anything
> but strings. Unless I've missed something.
>
What you're missing is that by using your logic expanding a null should
be an error. Why should expanding a null be an empty string? Nulls and
empty strings are not the same thing. Technically null <> "" just like
null <> 0