@- Comparing the string "inf" with "inf" returned false - fixed (Zeev)
#include <stdlib.h>
#include <limits.h>
#include <ctype.h>
+#include <math.h>
#include "zend.h"
#include "zend_operators.h"
errno=0;
local_dval = strtod(str, &end_ptr);
if (errno!=ERANGE && end_ptr == str+length) { /* floating point string */
+ if (local_dval==HUGE_VAL || local_dval==-HUGE_VAL) {
+ /* "inf" */
+ return 0;
+ }
+
if (dval) {
*dval = local_dval;
}