From 93083e86ef4fe695039bd2741d40d4c8c0c73958 Mon Sep 17 00:00:00 2001
From: Thomas Kaiser <thomas.kaiser@ruxit.com>
Date: Wed, 16 Dec 2015 15:26:24 +0100
Subject: [PATCH] - revert changes to ConfigValueType of numbers beginning with
 '.'

---
 config/src/main/java/com/typesafe/config/impl/Tokenizer.java  | 4 ++--
 .../src/test/scala/com/typesafe/config/impl/ConfigTest.scala  | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/config/src/main/java/com/typesafe/config/impl/Tokenizer.java b/config/src/main/java/com/typesafe/config/impl/Tokenizer.java
index fc971b6e..0295ea58 100644
--- a/config/src/main/java/com/typesafe/config/impl/Tokenizer.java
+++ b/config/src/main/java/com/typesafe/config/impl/Tokenizer.java
@@ -295,7 +295,7 @@ final class Tokenizer {
         }
 
         // chars JSON allows a number to start with
-        static final String firstNumberChars = "0123456789-.";
+        static final String firstNumberChars = "0123456789-";
         // chars JSON allows to be part of a number
         static final String numberChars = "0123456789eE+-.";
         // chars that stop an unquoted string
@@ -350,7 +350,7 @@ final class Tokenizer {
         private Token pullNumber(int firstChar) throws ProblemException {
             StringBuilder sb = new StringBuilder();
             sb.appendCodePoint(firstChar);
-            boolean containedDecimalOrE = firstChar == '.';
+            boolean containedDecimalOrE = false;
             int c = nextCharRaw();
             while (c != -1 && numberChars.indexOf(c) >= 0) {
                 if (c == '.' || c == 'e' || c == 'E')
diff --git a/config/src/test/scala/com/typesafe/config/impl/ConfigTest.scala b/config/src/test/scala/com/typesafe/config/impl/ConfigTest.scala
index 06852c5e..fadd435b 100644
--- a/config/src/test/scala/com/typesafe/config/impl/ConfigTest.scala
+++ b/config/src/test/scala/com/typesafe/config/impl/ConfigTest.scala
@@ -606,8 +606,8 @@ class ConfigTest extends TestUtils {
         assertEquals(Seq(intValue(1), intValue(2), intValue(3)), conf.getList("arrays.ofInt").asScala)
         assertEquals(Seq(stringValue("a"), stringValue("b"), stringValue("c")), conf.getList("arrays.ofString").asScala)
 
-        // make sure floats starting with a '.' are parsed as numbers
-        assertEquals(ConfigValueType.NUMBER, conf.getValue("floats.pointThirtyThree").valueType())
+        // make sure floats starting with a '.' are parsed as strings (they will be converted to double on demand)
+        assertEquals(ConfigValueType.STRING, conf.getValue("floats.pointThirtyThree").valueType())
     }
 
     @Test