Re: double val to long val conversion issue

From: Date: Sun, 10 Feb 2013 06:32:44 +0000
Subject: Re: double val to long val conversion issue
References: 1 2 3 4  Groups: php.internals 
Request: Send a blank email to internals+get-65748@lists.php.net to get a copy of this message
On 10/02/13 03:25, Stas Malyshev wrote:
these onto the appropriate visualC / gcc types. As far as I can see, PHP doesn't and seems to use long and int almost interchangeably which
PHP indeed does not use fixed-size types in zvals, etc. but it definitely does not "use long and int almost interchangeably". In almost any place where int is used instead of long or vice versa (unless it is a specific small value that is nowhere near limits of either int or long and used in very restricted context) - it is a bug and should be fixed. If you know of such places, please name them or even better, submit a bug report pointing them out. Stan, you are right to correct me. Sorry. However, I still feel that the implicit assumption is that sizeof(long) == 2*sizeof(int) and this isn't the case with visualC, and PHP internal data structures compiled with visualC and gcc are significantly different; for example hash keys are 32 bits long on Windows and 64bits on *nix. Why aren't they 32bits, say, on both? (as there is no performance benefit is having 64bit hash keys when the maximum size of a hash table is an int).


« previous php.internals (#65748) next »