Daniele Bartolini 10 anni fa
parent
commit
f443da0377
2 ha cambiato i file con 24 aggiunte e 26 eliminazioni
  1. 10 11
      src/core/json/json.cpp
  2. 14 15
      src/core/json/sjson.cpp

+ 10 - 11
src/core/json/json.cpp

@@ -31,11 +31,11 @@ namespace json
 
 		bool escaped = false;
 
-		while ((*(json = next(json))) != 0)
+		while (*++json)
 		{
 			if (*json == '"' && !escaped)
 			{
-				json = next(json);
+				++json;
 				return json;
 			}
 			else if (*json == '\\') escaped = true;
@@ -80,17 +80,17 @@ namespace json
 
 		if (*json == '"')
 		{
-			while (*(json = next(json)))
+			while (*++json)
 			{
 				// Empty string
 				if (*json == '"')
 				{
-					json = next(json);
+					++json;
 					return;
 				}
 				else if (*json == '\\')
 				{
-					json = next(json);
+					++json;
 
 					switch (*json)
 					{
@@ -134,13 +134,13 @@ namespace json
 		while (isdigit(*json))
 		{
 			array::push_back(number, *json);
-			json = next(json);
+			++json;
 		}
 
 		if (*json == '.')
 		{
 			array::push_back(number, '.');
-			while ((*(json = next(json))) && isdigit(*json))
+			while (*++json && isdigit(*json))
 			{
 				array::push_back(number, *json);
 			}
@@ -149,21 +149,20 @@ namespace json
 		if (*json == 'e' || *json == 'E')
 		{
 			array::push_back(number, *json);
-			json = next(json);
+			++json;
 
 			if (*json == '-' || *json == '+')
 			{
 				array::push_back(number, *json);
-				json = next(json);
+				++json;
 			}
 			while (isdigit(*json))
 			{
 				array::push_back(number, *json);
-				json = next(json);
+				++json;
 			}
 		}
 
-		// Ensure null terminated
 		array::push_back(number, '\0');
 
 		f64 val;

+ 14 - 15
src/core/json/sjson.cpp

@@ -32,11 +32,11 @@ namespace sjson
 
 		bool escaped = false;
 
-		while ((*(json = next(json))) != 0)
+		while (*++json != 0)
 		{
 			if (*json == '"' && !escaped)
 			{
-				json = next(json);
+				++json;
 				return json;
 			}
 			else if (*json == '\\') escaped = true;
@@ -67,18 +67,18 @@ namespace sjson
 
 		if (*json == '/')
 		{
-			json = next(json);
+			++json;
 			if (*json == '/')
 			{
 				json = next(json, '/');
 				while (*json && *json != '\n')
-					json = next(json);
+					++json;
 			}
 			else if (*json == '*')
 			{
-				json = next(json);
+				++json;
 				while (*json && *json != '*')
-					json = next(json);
+					++json;
 				json = next(json, '*');
 				json = next(json, '/');
 			}
@@ -123,17 +123,17 @@ namespace sjson
 
 		if (*json == '"')
 		{
-			while (*(json = next(json)))
+			while (*++json)
 			{
 				// Empty string
 				if (*json == '"')
 				{
-					json = next(json);
+					++json;
 					return;
 				}
 				else if (*json == '\\')
 				{
-					json = next(json);
+					++json;
 
 					switch (*json)
 					{
@@ -201,13 +201,13 @@ namespace sjson
 		while (isdigit(*json))
 		{
 			array::push_back(number, *json);
-			json = next(json);
+			++json;
 		}
 
 		if (*json == '.')
 		{
 			array::push_back(number, '.');
-			while ((*(json = next(json))) && isdigit(*json))
+			while (*++json && isdigit(*json))
 			{
 				array::push_back(number, *json);
 			}
@@ -216,21 +216,20 @@ namespace sjson
 		if (*json == 'e' || *json == 'E')
 		{
 			array::push_back(number, *json);
-			json = next(json);
+			++json;
 
 			if (*json == '-' || *json == '+')
 			{
 				array::push_back(number, *json);
-				json = next(json);
+				++json;
 			}
 			while (isdigit(*json))
 			{
 				array::push_back(number, *json);
-				json = next(json);
+				++json;
 			}
 		}
 
-		// Ensure null terminated
 		array::push_back(number, '\0');
 
 		f64 val;