Author: pmichaud
Date: Mon Dec 22 11:49:37 2008
New Revision: 34250

Modified:
   trunk/languages/perl6/src/pmc/perl6str.pmc

Log:
[rakudo]:  Eliminate strcasecmp from inf/nan conversions (particle++)


Modified: trunk/languages/perl6/src/pmc/perl6str.pmc
==============================================================================
--- trunk/languages/perl6/src/pmc/perl6str.pmc  (original)
+++ trunk/languages/perl6/src/pmc/perl6str.pmc  Mon Dec 22 11:49:37 2008
@@ -157,15 +157,17 @@
                 sign = -1.0; s1++;
             }
 
-            if (tolower(*s1) == 'i') {
-                if (strncasecmp(s1, "inf", 3) == 0) s1 += 3;
+            if (tolower(s1[0]) == 'i' && tolower(s1[1]) == 'n' 
+                    && tolower(s1[2]) == 'f') {
+                s1 += 3;
                 while (s1 < end && isspace((unsigned char)*s1))
                     s1++;
                 return (s1 == end) ? sign * atof("inf") : 0.0;
             }
 
-            if (tolower(*s1) == 'n') {
-                if (strncasecmp(s1, "nan", 3) == 0) s1 += 3;
+            if (tolower(s1[0]) == 'n' && tolower(s1[1]) == 'a' 
+                    && tolower(s1[2]) == 'n') {
+                s1 += 3;
                 while (s1 < end && isspace((unsigned char)*s1))
                     s1++;
                 return (s1 == end) ? sign * atof("nan") : 0.0;

Reply via email to