Hi:
   "smart_str_append_long(buf, (long)Z_OBJCE_P(struc)->name_length);"

   if you expand the macro,  then it will result a :

   if (num < 0) {                                                  \
        smart_str_print_unsigned4((buf), -(num), vartype, (result));    \
        *--(result) = '-';                                          \
    } else {                                                        \
        smart_str_print_unsigned4((buf), (num), vartype, (result)); \
    }

   and the Compiler(GCC) will complain that  num  have no chance to be
a negative,  if you wondering why:

   because, in 64-bit os,   when do the type cast  (unsigned int)  ->
(long),  the highest bit (which known as sign bit two) will always set
to 0,

   I was plan to change the (long) to (long)(signed),   gwynne
suggesting me to use (int), and leave the second step type conversion
to complier,  and I agree with him at last


thanks


2011/8/15 Stas Malyshev <smalys...@sugarcrm.com>:
> On 8/14/11 4:25 AM, Derick Rethans wrote:
>>
>> On Fri, 12 Aug 2011, Xinchen Hui wrote:
>>
>>> laruence                                 Fri, 12 Aug 2011 07:47:03 +0000
>>>
>>> Revision: http://svn.php.net/viewvc?view=revision&revision=314808
>>>
>>> Log:
>>> Omitted GCC warning "comparison is always false"
>>
>> I don't get this commit message, as you seem to have changed \0 issues
>> almost exclusively in this patch.
>
> I'm not sure also why you did this change:
>
> http://svn.php.net/viewvc/php/php-src/branches/PHP_5_4/ext/standard/var.c?r1=314808&r2=314807&pathrev=314808
>
> Or why here:
>
> http://svn.php.net/viewvc/php/php-src/trunk/ext/ereg/regex/regerror.c?r1=314808&r2=314807&pathrev=314808
>
> zero-termination applies only to one clause.
>
>
> --
> Stanislav Malyshev, Software Architect
> SugarCRM: http://www.sugarcrm.com/
> (408)454-6900 ext. 227
>



-- 
Laruence  Xinchen Hui
http://www.laruence.com/

--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to