Browse Source

Poco1.8.1 compilation error for C++98 mode #2121

Alex Fabijanic 8 years ago
parent
commit
e8be21dc66

+ 2 - 2
JSON/CMakeLists.txt

@@ -12,8 +12,8 @@ POCO_SOURCES_AUTO( SRCS ${SRCS_G})
 # Headers
 file(GLOB_RECURSE HDRS_G "include/*.h" )
 POCO_HEADERS_AUTO( SRCS ${HDRS_G})
-POCO_SOURCES(SRCS pdjson src/pd_json.c)
-SET_SOURCE_FILES_PROPERTIES(src/pd_json.c PROPERTIES LANGUAGE CXX)
+POCO_SOURCES(SRCS pdjson src/pdjson.c)
+SET_SOURCE_FILES_PROPERTIES(src/pdjson.c PROPERTIES LANGUAGE CXX)
 
 add_library( "${LIBNAME}" ${LIB_MODE} ${SRCS} )
 add_library( "${POCO_LIBNAME}" ALIAS "${LIBNAME}")

+ 3 - 3
JSON/JSON_CE_vs90.vcproj

@@ -451,7 +451,7 @@
 			<File
 				RelativePath=".\src\ParserImpl.cpp"/>
 			<File
-				RelativePath=".\src\pd_json.c">
+				RelativePath=".\src\pdjson.c">
 				<FileConfiguration
 					Name="debug_shared|Digi JumpStart (ARMV4I)">
 					<Tool
@@ -525,9 +525,9 @@
 			<File
 				RelativePath=".\include\Poco\JSON\ParserImpl.h"/>
 			<File
-				RelativePath=".\include\pd_json.h"/>
+				RelativePath=".\src\pdjson.h"/>
 			<File
-				RelativePath=".\include\pd_json_private.h"/>
+				RelativePath=".\include\pdjson_private.h"/>
 			<File
 				RelativePath=".\include\Poco\JSON\PrintHandler.h"/>
 			<File

+ 3 - 3
JSON/JSON_WEC2013_vs110.vcxproj

@@ -8,7 +8,7 @@
     <ClCompile Include="src\ParseHandler.cpp"/>
     <ClCompile Include="src\Parser.cpp"/>
     <ClCompile Include="src\ParserImpl.cpp"/>
-    <ClCompile Include="src\pd_json.c"/>
+    <ClCompile Include="src\pdjson.c"/>
     <ClCompile Include="src\PrintHandler.cpp"/>
     <ClCompile Include="src\Query.cpp"/>
     <ClCompile Include="src\Stringifier.cpp"/>
@@ -47,8 +47,8 @@
     <ClInclude Include="include\Poco\JSON\ParseHandler.h"/>
     <ClInclude Include="include\Poco\JSON\Parser.h"/>
     <ClInclude Include="include\Poco\JSON\ParserImpl.h"/>
-    <ClInclude Include="include\pd_json.h"/>
-    <ClInclude Include="include\pd_json_private.h"/>
+    <ClInclude Include="src\pdjson.h"/>
+    <ClInclude Include="include\pdjson_private.h"/>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h"/>
     <ClInclude Include="include\Poco\JSON\Query.h"/>
     <ClInclude Include="include\Poco\JSON\Stringifier.h"/>

+ 2 - 5
JSON/JSON_WEC2013_vs110.vcxproj.filters

@@ -30,7 +30,7 @@
     <ClCompile Include="src\ParserImpl.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="src\PrintHandler.cpp">
@@ -74,10 +74,7 @@
     <ClInclude Include="include\Poco\JSON\ParserImpl.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="include\pd_json.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="include\pd_json_private.h">
+    <ClInclude Include="include\pdjson.h">
       <Filter>Header Files</Filter>
     </ClInclude>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h">

+ 3 - 3
JSON/JSON_WEC2013_vs120.vcxproj

@@ -8,7 +8,7 @@
     <ClCompile Include="src\ParseHandler.cpp"/>
     <ClCompile Include="src\Parser.cpp"/>
     <ClCompile Include="src\ParserImpl.cpp"/>
-    <ClCompile Include="src\pd_json.c"/>
+    <ClCompile Include="src\pdjson.c"/>
     <ClCompile Include="src\PrintHandler.cpp"/>
     <ClCompile Include="src\Query.cpp"/>
     <ClCompile Include="src\Stringifier.cpp"/>
@@ -47,8 +47,8 @@
     <ClInclude Include="include\Poco\JSON\ParseHandler.h"/>
     <ClInclude Include="include\Poco\JSON\Parser.h"/>
     <ClInclude Include="include\Poco\JSON\ParserImpl.h"/>
-    <ClInclude Include="include\pd_json.h"/>
-    <ClInclude Include="include\pd_json_private.h"/>
+    <ClInclude Include="src\pdjson.h"/>
+    <ClInclude Include="include\pdjson_private.h"/>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h"/>
     <ClInclude Include="include\Poco\JSON\Query.h"/>
     <ClInclude Include="include\Poco\JSON\Stringifier.h"/>

+ 2 - 5
JSON/JSON_WEC2013_vs120.vcxproj.filters

@@ -30,7 +30,7 @@
     <ClCompile Include="src\ParserImpl.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="src\PrintHandler.cpp">
@@ -74,10 +74,7 @@
     <ClInclude Include="include\Poco\JSON\ParserImpl.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="include\pd_json.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="include\pd_json_private.h">
+    <ClInclude Include="include\pdjson.h">
       <Filter>Header Files</Filter>
     </ClInclude>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h">

+ 3 - 3
JSON/JSON_vs100.vcxproj

@@ -282,7 +282,7 @@
     <ClCompile Include="src\ParseHandler.cpp"/>
     <ClCompile Include="src\Parser.cpp"/>
     <ClCompile Include="src\ParserImpl.cpp"/>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">true</ForceConformanceInForLoopScope>
       <CompileAs Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">CompileAsCpp</CompileAs>
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">true</ForceConformanceInForLoopScope>
@@ -311,8 +311,8 @@
     <ClInclude Include="include\Poco\JSON\ParseHandler.h"/>
     <ClInclude Include="include\Poco\JSON\Parser.h"/>
     <ClInclude Include="include\Poco\JSON\ParserImpl.h"/>
-    <ClInclude Include="include\pd_json.h"/>
-    <ClInclude Include="include\pd_json_private.h"/>
+    <ClInclude Include="src\pdjson.h"/>
+    <ClInclude Include="include\pdjson_private.h"/>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h"/>
     <ClInclude Include="include\Poco\JSON\Query.h"/>
     <ClInclude Include="include\Poco\JSON\Stringifier.h"/>

+ 2 - 5
JSON/JSON_vs100.vcxproj.filters

@@ -30,7 +30,7 @@
     <ClCompile Include="src\ParserImpl.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="src\PrintHandler.cpp">
@@ -74,10 +74,7 @@
     <ClInclude Include="include\Poco\JSON\ParserImpl.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="include\pd_json.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="include\pd_json_private.h">
+    <ClInclude Include="include\pdjson.h">
       <Filter>Header Files</Filter>
     </ClInclude>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h">

+ 3 - 3
JSON/JSON_vs110.vcxproj

@@ -283,7 +283,7 @@
     <ClCompile Include="src\ParseHandler.cpp"/>
     <ClCompile Include="src\Parser.cpp"/>
     <ClCompile Include="src\ParserImpl.cpp"/>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">true</ForceConformanceInForLoopScope>
       <CompileAs Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">CompileAsCpp</CompileAs>
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">true</ForceConformanceInForLoopScope>
@@ -312,8 +312,8 @@
     <ClInclude Include="include\Poco\JSON\ParseHandler.h"/>
     <ClInclude Include="include\Poco\JSON\Parser.h"/>
     <ClInclude Include="include\Poco\JSON\ParserImpl.h"/>
-    <ClInclude Include="include\pd_json.h"/>
-    <ClInclude Include="include\pd_json_private.h"/>
+    <ClInclude Include="src\pdjson.h"/>
+    <ClInclude Include="include\pdjson_private.h"/>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h"/>
     <ClInclude Include="include\Poco\JSON\Query.h"/>
     <ClInclude Include="include\Poco\JSON\Stringifier.h"/>

+ 2 - 5
JSON/JSON_vs110.vcxproj.filters

@@ -30,7 +30,7 @@
     <ClCompile Include="src\ParserImpl.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="src\PrintHandler.cpp">
@@ -74,10 +74,7 @@
     <ClInclude Include="include\Poco\JSON\ParserImpl.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="include\pd_json.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="include\pd_json_private.h">
+    <ClInclude Include="include\pdjson.h">
       <Filter>Header Files</Filter>
     </ClInclude>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h">

+ 3 - 3
JSON/JSON_vs120.vcxproj

@@ -283,7 +283,7 @@
     <ClCompile Include="src\ParseHandler.cpp"/>
     <ClCompile Include="src\Parser.cpp"/>
     <ClCompile Include="src\ParserImpl.cpp"/>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">true</ForceConformanceInForLoopScope>
       <CompileAs Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">CompileAsCpp</CompileAs>
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">true</ForceConformanceInForLoopScope>
@@ -312,8 +312,8 @@
     <ClInclude Include="include\Poco\JSON\ParseHandler.h"/>
     <ClInclude Include="include\Poco\JSON\Parser.h"/>
     <ClInclude Include="include\Poco\JSON\ParserImpl.h"/>
-    <ClInclude Include="include\pd_json.h"/>
-    <ClInclude Include="include\pd_json_private.h"/>
+    <ClInclude Include="src\pdjson.h"/>
+    <ClInclude Include="include\pdjson_private.h"/>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h"/>
     <ClInclude Include="include\Poco\JSON\Query.h"/>
     <ClInclude Include="include\Poco\JSON\Stringifier.h"/>

+ 2 - 5
JSON/JSON_vs120.vcxproj.filters

@@ -30,7 +30,7 @@
     <ClCompile Include="src\ParserImpl.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="src\PrintHandler.cpp">
@@ -74,10 +74,7 @@
     <ClInclude Include="include\Poco\JSON\ParserImpl.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="include\pd_json.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="include\pd_json_private.h">
+    <ClInclude Include="include\pdjson.h">
       <Filter>Header Files</Filter>
     </ClInclude>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h">

+ 3 - 3
JSON/JSON_vs140.vcxproj

@@ -283,7 +283,7 @@
     <ClCompile Include="src\ParseHandler.cpp"/>
     <ClCompile Include="src\Parser.cpp"/>
     <ClCompile Include="src\ParserImpl.cpp"/>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">true</ForceConformanceInForLoopScope>
       <CompileAs Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">CompileAsCpp</CompileAs>
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">true</ForceConformanceInForLoopScope>
@@ -304,8 +304,8 @@
     <ClCompile Include="src\TemplateCache.cpp"/>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="include\pd_json.h"/>
-    <ClInclude Include="include\pd_json_private.h"/>
+    <ClInclude Include="src\pdjson.h"/>
+    <ClInclude Include="include\pdjson_private.h"/>
     <ClInclude Include="include\Poco\JSON\Array.h"/>
     <ClInclude Include="include\Poco\JSON\Handler.h"/>
     <ClInclude Include="include\Poco\JSON\JSON.h"/>

+ 2 - 5
JSON/JSON_vs140.vcxproj.filters

@@ -30,7 +30,7 @@
     <ClCompile Include="src\ParserImpl.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="src\PrintHandler.cpp">
@@ -74,10 +74,7 @@
     <ClInclude Include="include\Poco\JSON\ParserImpl.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="include\pd_json.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="include\pd_json_private.h">
+    <ClInclude Include="include\pdjson.h">
       <Filter>Header Files</Filter>
     </ClInclude>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h">

+ 3 - 3
JSON/JSON_vs150.vcxproj

@@ -283,7 +283,7 @@
     <ClCompile Include="src\ParseHandler.cpp"/>
     <ClCompile Include="src\Parser.cpp"/>
     <ClCompile Include="src\ParserImpl.cpp"/>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">true</ForceConformanceInForLoopScope>
       <CompileAs Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">CompileAsCpp</CompileAs>
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">true</ForceConformanceInForLoopScope>
@@ -304,8 +304,8 @@
     <ClCompile Include="src\TemplateCache.cpp"/>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="include\pd_json.h"/>
-    <ClInclude Include="include\pd_json_private.h"/>
+    <ClInclude Include="src\pdjson.h"/>
+    <ClInclude Include="include\pdjson_private.h"/>
     <ClInclude Include="include\Poco\JSON\Array.h"/>
     <ClInclude Include="include\Poco\JSON\Handler.h"/>
     <ClInclude Include="include\Poco\JSON\JSON.h"/>

+ 2 - 5
JSON/JSON_vs150.vcxproj.filters

@@ -30,7 +30,7 @@
     <ClCompile Include="src\ParserImpl.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="src\PrintHandler.cpp">
@@ -74,10 +74,7 @@
     <ClInclude Include="include\Poco\JSON\ParserImpl.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="include\pd_json.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="include\pd_json_private.h">
+    <ClInclude Include="include\pdjson.h">
       <Filter>Header Files</Filter>
     </ClInclude>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h">

+ 326 - 151
JSON/JSON_vs90.vcproj

@@ -1,35 +1,46 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
-	Name="JSON"
-	Version="9.00"
 	ProjectType="Visual C++"
+	Version="9.00"
+	Name="JSON"
 	ProjectGUID="{0E7FE914-0690-3EB4-9119-93A97CC97741}"
 	RootNamespace="JSON"
-	Keyword="Win32Proj">
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="0"
+	>
 	<Platforms>
 		<Platform
-			Name="Win32"/>
+			Name="Win32"
+		/>
 	</Platforms>
-	<ToolFiles/>
+	<ToolFiles>
+	</ToolFiles>
 	<Configurations>
 		<Configuration
 			Name="debug_shared|Win32"
 			OutputDirectory="obj\$(ConfigurationName)"
 			IntermediateDirectory="obj\$(ConfigurationName)"
 			ConfigurationType="2"
-			CharacterSet="2">
+			CharacterSet="2"
+			>
 			<Tool
-				Name="VCPreBuildEventTool"/>
+				Name="VCPreBuildEventTool"
+			/>
 			<Tool
-				Name="VCCustomBuildTool"/>
+				Name="VCCustomBuildTool"
+			/>
 			<Tool
-				Name="VCXMLDataGeneratorTool"/>
+				Name="VCXMLDataGeneratorTool"
+			/>
 			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
 			<Tool
-				Name="VCMIDLTool"/>
+				Name="VCMIDLTool"
+			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				AdditionalOptions=""
 				Optimization="0"
 				AdditionalIncludeDirectories=".\include;..\Foundation\include"
 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;JSON_EXPORTS"
@@ -47,59 +58,77 @@
 				DebugInformationFormat="3"
 				CompileAs="0"
 				DisableSpecificWarnings=""
-				AdditionalOptions=""/>
+			/>
 			<Tool
-				Name="VCManagedResourceCompilerTool"/>
+				Name="VCManagedResourceCompilerTool"
+			/>
 			<Tool
-				Name="VCResourceCompilerTool"/>
+				Name="VCResourceCompilerTool"
+			/>
 			<Tool
-				Name="VCPreLinkEventTool"/>
+				Name="VCPreLinkEventTool"
+			/>
 			<Tool
 				Name="VCLinkerTool"
+				AdditionalOptions=""
 				AdditionalDependencies=""
 				OutputFile="..\bin\PocoJSONd.dll"
 				LinkIncremental="2"
 				SuppressStartupBanner="true"
+				AdditionalLibraryDirectories="..\lib"
 				GenerateDebugInformation="true"
 				ProgramDatabaseFile="..\bin\PocoJSONd.pdb"
-				AdditionalLibraryDirectories="..\lib"
 				SubSystem="1"
 				ImportLibrary="..\lib\PocoJSONd.lib"
 				TargetMachine="1"
-				AdditionalOptions=""/>
+			/>
 			<Tool
-				Name="VCALinkTool"/>
+				Name="VCALinkTool"
+			/>
 			<Tool
-				Name="VCManifestTool"/>
+				Name="VCManifestTool"
+			/>
 			<Tool
-				Name="VCXDCMakeTool"/>
+				Name="VCXDCMakeTool"
+			/>
 			<Tool
-				Name="VCBscMakeTool"/>
+				Name="VCBscMakeTool"
+			/>
 			<Tool
-				Name="VCFxCopTool"/>
+				Name="VCFxCopTool"
+			/>
 			<Tool
-				Name="VCAppVerifierTool"/>
+				Name="VCAppVerifierTool"
+			/>
 			<Tool
-				Name="VCPostBuildEventTool"/>
+				Name="VCPostBuildEventTool"
+			/>
 		</Configuration>
 		<Configuration
 			Name="release_shared|Win32"
 			OutputDirectory="obj\$(ConfigurationName)"
 			IntermediateDirectory="obj\$(ConfigurationName)"
 			ConfigurationType="2"
-			CharacterSet="2">
+			CharacterSet="2"
+			>
 			<Tool
-				Name="VCPreBuildEventTool"/>
+				Name="VCPreBuildEventTool"
+			/>
 			<Tool
-				Name="VCCustomBuildTool"/>
+				Name="VCCustomBuildTool"
+			/>
 			<Tool
-				Name="VCXMLDataGeneratorTool"/>
+				Name="VCXMLDataGeneratorTool"
+			/>
 			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
 			<Tool
-				Name="VCMIDLTool"/>
+				Name="VCMIDLTool"
+			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				AdditionalOptions=""
 				Optimization="4"
 				InlineFunctionExpansion="1"
 				EnableIntrinsicFunctions="true"
@@ -119,60 +148,78 @@
 				DebugInformationFormat="0"
 				CompileAs="0"
 				DisableSpecificWarnings=""
-				AdditionalOptions=""/>
+			/>
 			<Tool
-				Name="VCManagedResourceCompilerTool"/>
+				Name="VCManagedResourceCompilerTool"
+			/>
 			<Tool
-				Name="VCResourceCompilerTool"/>
+				Name="VCResourceCompilerTool"
+			/>
 			<Tool
-				Name="VCPreLinkEventTool"/>
+				Name="VCPreLinkEventTool"
+			/>
 			<Tool
 				Name="VCLinkerTool"
+				AdditionalOptions=""
 				AdditionalDependencies=""
 				OutputFile="..\bin\PocoJSON.dll"
 				LinkIncremental="1"
 				SuppressStartupBanner="true"
-				GenerateDebugInformation="false"
 				AdditionalLibraryDirectories="..\lib"
+				GenerateDebugInformation="false"
 				SubSystem="1"
 				OptimizeReferences="2"
 				EnableCOMDATFolding="2"
 				ImportLibrary="..\lib\PocoJSON.lib"
 				TargetMachine="1"
-				AdditionalOptions=""/>
+			/>
 			<Tool
-				Name="VCALinkTool"/>
+				Name="VCALinkTool"
+			/>
 			<Tool
-				Name="VCManifestTool"/>
+				Name="VCManifestTool"
+			/>
 			<Tool
-				Name="VCXDCMakeTool"/>
+				Name="VCXDCMakeTool"
+			/>
 			<Tool
-				Name="VCBscMakeTool"/>
+				Name="VCBscMakeTool"
+			/>
 			<Tool
-				Name="VCFxCopTool"/>
+				Name="VCFxCopTool"
+			/>
 			<Tool
-				Name="VCAppVerifierTool"/>
+				Name="VCAppVerifierTool"
+			/>
 			<Tool
-				Name="VCPostBuildEventTool"/>
+				Name="VCPostBuildEventTool"
+			/>
 		</Configuration>
 		<Configuration
 			Name="debug_static_mt|Win32"
 			OutputDirectory="obj\$(ConfigurationName)"
 			IntermediateDirectory="obj\$(ConfigurationName)"
 			ConfigurationType="4"
-			CharacterSet="2">
+			CharacterSet="2"
+			>
 			<Tool
-				Name="VCPreBuildEventTool"/>
+				Name="VCPreBuildEventTool"
+			/>
 			<Tool
-				Name="VCCustomBuildTool"/>
+				Name="VCCustomBuildTool"
+			/>
 			<Tool
-				Name="VCXMLDataGeneratorTool"/>
+				Name="VCXMLDataGeneratorTool"
+			/>
 			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
 			<Tool
-				Name="VCMIDLTool"/>
+				Name="VCMIDLTool"
+			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				AdditionalOptions=""
 				Optimization="0"
 				AdditionalIncludeDirectories=".\include;..\Foundation\include"
 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;POCO_STATIC;"
@@ -191,45 +238,61 @@
 				DebugInformationFormat="3"
 				CompileAs="0"
 				DisableSpecificWarnings=""
-				AdditionalOptions=""/>
+			/>
 			<Tool
-				Name="VCManagedResourceCompilerTool"/>
+				Name="VCManagedResourceCompilerTool"
+			/>
 			<Tool
-				Name="VCResourceCompilerTool"/>
+				Name="VCResourceCompilerTool"
+			/>
 			<Tool
-				Name="VCPreLinkEventTool"/>
+				Name="VCPreLinkEventTool"
+			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\lib\PocoJSONmtd.lib"/>
+				OutputFile="..\lib\PocoJSONmtd.lib"
+			/>
 			<Tool
-				Name="VCALinkTool"/>
+				Name="VCALinkTool"
+			/>
 			<Tool
-				Name="VCXDCMakeTool"/>
+				Name="VCXDCMakeTool"
+			/>
 			<Tool
-				Name="VCBscMakeTool"/>
+				Name="VCBscMakeTool"
+			/>
 			<Tool
-				Name="VCFxCopTool"/>
+				Name="VCFxCopTool"
+			/>
 			<Tool
-				Name="VCPostBuildEventTool"/>
+				Name="VCPostBuildEventTool"
+			/>
 		</Configuration>
 		<Configuration
 			Name="release_static_mt|Win32"
 			OutputDirectory="obj\$(ConfigurationName)"
 			IntermediateDirectory="obj\$(ConfigurationName)"
 			ConfigurationType="4"
-			CharacterSet="2">
+			CharacterSet="2"
+			>
 			<Tool
-				Name="VCPreBuildEventTool"/>
+				Name="VCPreBuildEventTool"
+			/>
 			<Tool
-				Name="VCCustomBuildTool"/>
+				Name="VCCustomBuildTool"
+			/>
 			<Tool
-				Name="VCXMLDataGeneratorTool"/>
+				Name="VCXMLDataGeneratorTool"
+			/>
 			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
 			<Tool
-				Name="VCMIDLTool"/>
+				Name="VCMIDLTool"
+			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				AdditionalOptions=""
 				Optimization="4"
 				InlineFunctionExpansion="1"
 				EnableIntrinsicFunctions="true"
@@ -249,45 +312,61 @@
 				DebugInformationFormat="0"
 				CompileAs="0"
 				DisableSpecificWarnings=""
-				AdditionalOptions=""/>
+			/>
 			<Tool
-				Name="VCManagedResourceCompilerTool"/>
+				Name="VCManagedResourceCompilerTool"
+			/>
 			<Tool
-				Name="VCResourceCompilerTool"/>
+				Name="VCResourceCompilerTool"
+			/>
 			<Tool
-				Name="VCPreLinkEventTool"/>
+				Name="VCPreLinkEventTool"
+			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\lib\PocoJSONmt.lib"/>
+				OutputFile="..\lib\PocoJSONmt.lib"
+			/>
 			<Tool
-				Name="VCALinkTool"/>
+				Name="VCALinkTool"
+			/>
 			<Tool
-				Name="VCXDCMakeTool"/>
+				Name="VCXDCMakeTool"
+			/>
 			<Tool
-				Name="VCBscMakeTool"/>
+				Name="VCBscMakeTool"
+			/>
 			<Tool
-				Name="VCFxCopTool"/>
+				Name="VCFxCopTool"
+			/>
 			<Tool
-				Name="VCPostBuildEventTool"/>
+				Name="VCPostBuildEventTool"
+			/>
 		</Configuration>
 		<Configuration
 			Name="debug_static_md|Win32"
 			OutputDirectory="obj\$(ConfigurationName)"
 			IntermediateDirectory="obj\$(ConfigurationName)"
 			ConfigurationType="4"
-			CharacterSet="2">
+			CharacterSet="2"
+			>
 			<Tool
-				Name="VCPreBuildEventTool"/>
+				Name="VCPreBuildEventTool"
+			/>
 			<Tool
-				Name="VCCustomBuildTool"/>
+				Name="VCCustomBuildTool"
+			/>
 			<Tool
-				Name="VCXMLDataGeneratorTool"/>
+				Name="VCXMLDataGeneratorTool"
+			/>
 			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
 			<Tool
-				Name="VCMIDLTool"/>
+				Name="VCMIDLTool"
+			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				AdditionalOptions=""
 				Optimization="0"
 				AdditionalIncludeDirectories=".\include;..\Foundation\include"
 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;POCO_STATIC;"
@@ -306,45 +385,61 @@
 				DebugInformationFormat="3"
 				CompileAs="0"
 				DisableSpecificWarnings=""
-				AdditionalOptions=""/>
+			/>
 			<Tool
-				Name="VCManagedResourceCompilerTool"/>
+				Name="VCManagedResourceCompilerTool"
+			/>
 			<Tool
-				Name="VCResourceCompilerTool"/>
+				Name="VCResourceCompilerTool"
+			/>
 			<Tool
-				Name="VCPreLinkEventTool"/>
+				Name="VCPreLinkEventTool"
+			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\lib\PocoJSONmdd.lib"/>
+				OutputFile="..\lib\PocoJSONmdd.lib"
+			/>
 			<Tool
-				Name="VCALinkTool"/>
+				Name="VCALinkTool"
+			/>
 			<Tool
-				Name="VCXDCMakeTool"/>
+				Name="VCXDCMakeTool"
+			/>
 			<Tool
-				Name="VCBscMakeTool"/>
+				Name="VCBscMakeTool"
+			/>
 			<Tool
-				Name="VCFxCopTool"/>
+				Name="VCFxCopTool"
+			/>
 			<Tool
-				Name="VCPostBuildEventTool"/>
+				Name="VCPostBuildEventTool"
+			/>
 		</Configuration>
 		<Configuration
 			Name="release_static_md|Win32"
 			OutputDirectory="obj\$(ConfigurationName)"
 			IntermediateDirectory="obj\$(ConfigurationName)"
 			ConfigurationType="4"
-			CharacterSet="2">
+			CharacterSet="2"
+			>
 			<Tool
-				Name="VCPreBuildEventTool"/>
+				Name="VCPreBuildEventTool"
+			/>
 			<Tool
-				Name="VCCustomBuildTool"/>
+				Name="VCCustomBuildTool"
+			/>
 			<Tool
-				Name="VCXMLDataGeneratorTool"/>
+				Name="VCXMLDataGeneratorTool"
+			/>
 			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
 			<Tool
-				Name="VCMIDLTool"/>
+				Name="VCMIDLTool"
+			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				AdditionalOptions=""
 				Optimization="4"
 				InlineFunctionExpansion="1"
 				EnableIntrinsicFunctions="true"
@@ -364,135 +459,215 @@
 				DebugInformationFormat="0"
 				CompileAs="0"
 				DisableSpecificWarnings=""
-				AdditionalOptions=""/>
+			/>
 			<Tool
-				Name="VCManagedResourceCompilerTool"/>
+				Name="VCManagedResourceCompilerTool"
+			/>
 			<Tool
-				Name="VCResourceCompilerTool"/>
+				Name="VCResourceCompilerTool"
+			/>
 			<Tool
-				Name="VCPreLinkEventTool"/>
+				Name="VCPreLinkEventTool"
+			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\lib\PocoJSONmd.lib"/>
+				OutputFile="..\lib\PocoJSONmd.lib"
+			/>
 			<Tool
-				Name="VCALinkTool"/>
+				Name="VCALinkTool"
+			/>
 			<Tool
-				Name="VCXDCMakeTool"/>
+				Name="VCXDCMakeTool"
+			/>
 			<Tool
-				Name="VCBscMakeTool"/>
+				Name="VCBscMakeTool"
+			/>
 			<Tool
-				Name="VCFxCopTool"/>
+				Name="VCFxCopTool"
+			/>
 			<Tool
-				Name="VCPostBuildEventTool"/>
+				Name="VCPostBuildEventTool"
+			/>
 		</Configuration>
 	</Configurations>
-	<References/>
+	<References>
+	</References>
 	<Files>
 		<Filter
-			Name="Source Files">
+			Name="Source Files"
+			>
 			<File
-				RelativePath=".\src\Array.cpp"/>
+				RelativePath=".\src\Array.cpp"
+				>
+			</File>
 			<File
-				RelativePath=".\src\Handler.cpp"/>
+				RelativePath=".\src\Handler.cpp"
+				>
+			</File>
 			<File
-				RelativePath=".\src\JSONException.cpp"/>
+				RelativePath=".\src\JSONException.cpp"
+				>
+			</File>
 			<File
-				RelativePath=".\src\Object.cpp"/>
+				RelativePath=".\src\Object.cpp"
+				>
+			</File>
 			<File
-				RelativePath=".\src\ParseHandler.cpp"/>
+				RelativePath=".\src\ParseHandler.cpp"
+				>
+			</File>
 			<File
-				RelativePath=".\src\Parser.cpp"/>
+				RelativePath=".\src\Parser.cpp"
+				>
+			</File>
 			<File
-				RelativePath=".\src\ParserImpl.cpp"/>
+				RelativePath=".\src\ParserImpl.cpp"
+				>
+			</File>
 			<File
-				RelativePath=".\src\pd_json.c">
+				RelativePath=".\src\pdjson.c"
+				>
 				<FileConfiguration
-					Name="debug_shared|Win32">
+					Name="debug_shared|Win32"
+					>
 					<Tool
 						Name="VCCLCompilerTool"
 						ForceConformanceInForLoopScope="true"
-						CompileAs="2"/>
+						CompileAs="2"
+					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="release_shared|Win32">
+					Name="release_shared|Win32"
+					>
 					<Tool
 						Name="VCCLCompilerTool"
 						ForceConformanceInForLoopScope="true"
-						CompileAs="2"/>
+						CompileAs="2"
+					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="debug_static_mt|Win32">
+					Name="debug_static_mt|Win32"
+					>
 					<Tool
 						Name="VCCLCompilerTool"
 						ForceConformanceInForLoopScope="true"
-						CompileAs="2"/>
+						CompileAs="2"
+					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="release_static_mt|Win32">
+					Name="release_static_mt|Win32"
+					>
 					<Tool
 						Name="VCCLCompilerTool"
 						ForceConformanceInForLoopScope="true"
-						CompileAs="2"/>
+						CompileAs="2"
+					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="debug_static_md|Win32">
+					Name="debug_static_md|Win32"
+					>
 					<Tool
 						Name="VCCLCompilerTool"
 						ForceConformanceInForLoopScope="true"
-						CompileAs="2"/>
+						CompileAs="2"
+					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="release_static_md|Win32">
+					Name="release_static_md|Win32"
+					>
 					<Tool
 						Name="VCCLCompilerTool"
 						ForceConformanceInForLoopScope="true"
-						CompileAs="2"/>
+						CompileAs="2"
+					/>
 				</FileConfiguration>
 			</File>
 			<File
-				RelativePath=".\src\PrintHandler.cpp"/>
+				RelativePath=".\src\PrintHandler.cpp"
+				>
+			</File>
 			<File
-				RelativePath=".\src\Query.cpp"/>
+				RelativePath=".\src\Query.cpp"
+				>
+			</File>
 			<File
-				RelativePath=".\src\Stringifier.cpp"/>
+				RelativePath=".\src\Stringifier.cpp"
+				>
+			</File>
 			<File
-				RelativePath=".\src\Template.cpp"/>
+				RelativePath=".\src\Template.cpp"
+				>
+			</File>
 			<File
-				RelativePath=".\src\TemplateCache.cpp"/>
+				RelativePath=".\src\TemplateCache.cpp"
+				>
+			</File>
 		</Filter>
 		<Filter
-			Name="Header Files">
+			Name="Header Files"
+			>
 			<File
-				RelativePath=".\include\Poco\JSON\Array.h"/>
+				RelativePath=".\include\Poco\JSON\Array.h"
+				>
+			</File>
 			<File
-				RelativePath=".\include\Poco\JSON\Handler.h"/>
+				RelativePath=".\include\Poco\JSON\Handler.h"
+				>
+			</File>
 			<File
-				RelativePath=".\include\Poco\JSON\JSON.h"/>
+				RelativePath=".\include\Poco\JSON\JSON.h"
+				>
+			</File>
 			<File
-				RelativePath=".\include\Poco\JSON\JSONException.h"/>
+				RelativePath=".\include\Poco\JSON\JSONException.h"
+				>
+			</File>
 			<File
-				RelativePath=".\include\Poco\JSON\Object.h"/>
+				RelativePath=".\include\Poco\JSON\Object.h"
+				>
+			</File>
 			<File
-				RelativePath=".\include\Poco\JSON\ParseHandler.h"/>
+				RelativePath=".\include\Poco\JSON\ParseHandler.h"
+				>
+			</File>
 			<File
-				RelativePath=".\include\Poco\JSON\Parser.h"/>
+				RelativePath=".\include\Poco\JSON\Parser.h"
+				>
+			</File>
 			<File
-				RelativePath=".\include\Poco\JSON\ParserImpl.h"/>
+				RelativePath=".\include\Poco\JSON\ParserImpl.h"
+				>
+			</File>
 			<File
-				RelativePath=".\include\pd_json.h"/>
+				RelativePath=".\src\pdjson.h"
+				>
+			</File>
 			<File
-				RelativePath=".\include\pd_json_private.h"/>
+				RelativePath=".\include\pdjson_private.h"
+				>
+			</File>
 			<File
-				RelativePath=".\include\Poco\JSON\PrintHandler.h"/>
+				RelativePath=".\include\Poco\JSON\PrintHandler.h"
+				>
+			</File>
 			<File
-				RelativePath=".\include\Poco\JSON\Query.h"/>
+				RelativePath=".\include\Poco\JSON\Query.h"
+				>
+			</File>
 			<File
-				RelativePath=".\include\Poco\JSON\Stringifier.h"/>
+				RelativePath=".\include\Poco\JSON\Stringifier.h"
+				>
+			</File>
 			<File
-				RelativePath=".\include\Poco\JSON\Template.h"/>
+				RelativePath=".\include\Poco\JSON\Template.h"
+				>
+			</File>
 			<File
-				RelativePath=".\include\Poco\JSON\TemplateCache.h"/>
+				RelativePath=".\include\Poco\JSON\TemplateCache.h"
+				>
+			</File>
 		</Filter>
 	</Files>
-	<Globals/>
+	<Globals>
+	</Globals>
 </VisualStudioProject>

+ 3 - 3
JSON/JSON_x64_vs100.vcxproj

@@ -280,7 +280,7 @@
     <ClCompile Include="src\ParseHandler.cpp"/>
     <ClCompile Include="src\Parser.cpp"/>
     <ClCompile Include="src\ParserImpl.cpp"/>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">true</ForceConformanceInForLoopScope>
       <CompileAs Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">CompileAsCpp</CompileAs>
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">true</ForceConformanceInForLoopScope>
@@ -309,8 +309,8 @@
     <ClInclude Include="include\Poco\JSON\ParseHandler.h"/>
     <ClInclude Include="include\Poco\JSON\Parser.h"/>
     <ClInclude Include="include\Poco\JSON\ParserImpl.h"/>
-    <ClInclude Include="include\pd_json.h"/>
-    <ClInclude Include="include\pd_json_private.h"/>
+    <ClInclude Include="src\pdjson.h"/>
+    <ClInclude Include="include\pdjson_private.h"/>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h"/>
     <ClInclude Include="include\Poco\JSON\Query.h"/>
     <ClInclude Include="include\Poco\JSON\Stringifier.h"/>

+ 2 - 5
JSON/JSON_x64_vs100.vcxproj.filters

@@ -30,7 +30,7 @@
     <ClCompile Include="src\ParserImpl.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="src\PrintHandler.cpp">
@@ -74,10 +74,7 @@
     <ClInclude Include="include\Poco\JSON\ParserImpl.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="include\pd_json.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="include\pd_json_private.h">
+    <ClInclude Include="include\pdjson.h">
       <Filter>Header Files</Filter>
     </ClInclude>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h">

+ 3 - 3
JSON/JSON_x64_vs110.vcxproj

@@ -282,7 +282,7 @@
     <ClCompile Include="src\ParseHandler.cpp"/>
     <ClCompile Include="src\Parser.cpp"/>
     <ClCompile Include="src\ParserImpl.cpp"/>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">true</ForceConformanceInForLoopScope>
       <CompileAs Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">CompileAsCpp</CompileAs>
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">true</ForceConformanceInForLoopScope>
@@ -311,8 +311,8 @@
     <ClInclude Include="include\Poco\JSON\ParseHandler.h"/>
     <ClInclude Include="include\Poco\JSON\Parser.h"/>
     <ClInclude Include="include\Poco\JSON\ParserImpl.h"/>
-    <ClInclude Include="include\pd_json.h"/>
-    <ClInclude Include="include\pd_json_private.h"/>
+    <ClInclude Include="src\pdjson.h"/>
+    <ClInclude Include="include\pdjson_private.h"/>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h"/>
     <ClInclude Include="include\Poco\JSON\Query.h"/>
     <ClInclude Include="include\Poco\JSON\Stringifier.h"/>

+ 2 - 5
JSON/JSON_x64_vs110.vcxproj.filters

@@ -30,7 +30,7 @@
     <ClCompile Include="src\ParserImpl.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="src\PrintHandler.cpp">
@@ -74,10 +74,7 @@
     <ClInclude Include="include\Poco\JSON\ParserImpl.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="include\pd_json.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="include\pd_json_private.h">
+    <ClInclude Include="include\pdjson.h">
       <Filter>Header Files</Filter>
     </ClInclude>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h">

+ 3 - 3
JSON/JSON_x64_vs120.vcxproj

@@ -282,7 +282,7 @@
     <ClCompile Include="src\ParseHandler.cpp"/>
     <ClCompile Include="src\Parser.cpp"/>
     <ClCompile Include="src\ParserImpl.cpp"/>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">true</ForceConformanceInForLoopScope>
       <CompileAs Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">CompileAsCpp</CompileAs>
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">true</ForceConformanceInForLoopScope>
@@ -311,8 +311,8 @@
     <ClInclude Include="include\Poco\JSON\ParseHandler.h"/>
     <ClInclude Include="include\Poco\JSON\Parser.h"/>
     <ClInclude Include="include\Poco\JSON\ParserImpl.h"/>
-    <ClInclude Include="include\pd_json.h"/>
-    <ClInclude Include="include\pd_json_private.h"/>
+    <ClInclude Include="src\pdjson.h"/>
+    <ClInclude Include="include\pdjson_private.h"/>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h"/>
     <ClInclude Include="include\Poco\JSON\Query.h"/>
     <ClInclude Include="include\Poco\JSON\Stringifier.h"/>

+ 2 - 5
JSON/JSON_x64_vs120.vcxproj.filters

@@ -30,7 +30,7 @@
     <ClCompile Include="src\ParserImpl.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="src\PrintHandler.cpp">
@@ -74,10 +74,7 @@
     <ClInclude Include="include\Poco\JSON\ParserImpl.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="include\pd_json.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="include\pd_json_private.h">
+    <ClInclude Include="include\pdjson.h">
       <Filter>Header Files</Filter>
     </ClInclude>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h">

+ 3 - 3
JSON/JSON_x64_vs140.vcxproj

@@ -282,7 +282,7 @@
     <ClCompile Include="src\ParseHandler.cpp"/>
     <ClCompile Include="src\Parser.cpp"/>
     <ClCompile Include="src\ParserImpl.cpp"/>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">true</ForceConformanceInForLoopScope>
       <CompileAs Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">CompileAsCpp</CompileAs>
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">true</ForceConformanceInForLoopScope>
@@ -303,8 +303,8 @@
     <ClCompile Include="src\TemplateCache.cpp"/>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="include\pd_json.h"/>
-    <ClInclude Include="include\pd_json_private.h"/>
+    <ClInclude Include="src\pdjson.h"/>
+    <ClInclude Include="include\pdjson_private.h"/>
     <ClInclude Include="include\Poco\JSON\Array.h"/>
     <ClInclude Include="include\Poco\JSON\Handler.h"/>
     <ClInclude Include="include\Poco\JSON\JSON.h"/>

+ 2 - 5
JSON/JSON_x64_vs140.vcxproj.filters

@@ -30,7 +30,7 @@
     <ClCompile Include="src\ParserImpl.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="src\PrintHandler.cpp">
@@ -74,10 +74,7 @@
     <ClInclude Include="include\Poco\JSON\ParserImpl.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="include\pd_json.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="include\pd_json_private.h">
+    <ClInclude Include="include\pdjson.h">
       <Filter>Header Files</Filter>
     </ClInclude>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h">

+ 3 - 3
JSON/JSON_x64_vs150.vcxproj

@@ -282,7 +282,7 @@
     <ClCompile Include="src\ParseHandler.cpp"/>
     <ClCompile Include="src\Parser.cpp"/>
     <ClCompile Include="src\ParserImpl.cpp"/>
-    <ClCompile Include="src\pd_json.c">
+    <ClCompile Include="src\pdjson.c">
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">true</ForceConformanceInForLoopScope>
       <CompileAs Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">CompileAsCpp</CompileAs>
       <ForceConformanceInForLoopScope Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">true</ForceConformanceInForLoopScope>
@@ -303,8 +303,8 @@
     <ClCompile Include="src\TemplateCache.cpp"/>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="include\pd_json.h"/>
-    <ClInclude Include="include\pd_json_private.h"/>
+    <ClInclude Include="src\pdjson.h"/>
+    <ClInclude Include="include\pdjson_private.h"/>
     <ClInclude Include="include\Poco\JSON\Array.h"/>
     <ClInclude Include="include\Poco\JSON\Handler.h"/>
     <ClInclude Include="include\Poco\JSON\JSON.h"/>

+ 7 - 9
JSON/JSON_x64_vs150.vcxproj.filters

@@ -30,9 +30,6 @@
     <ClCompile Include="src\ParserImpl.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="src\pd_json.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="src\PrintHandler.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
@@ -48,6 +45,9 @@
     <ClCompile Include="src\TemplateCache.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="src\pdjson.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="include\Poco\JSON\Array.h">
@@ -74,12 +74,6 @@
     <ClInclude Include="include\Poco\JSON\ParserImpl.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="include\pd_json.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="include\pd_json_private.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="include\Poco\JSON\PrintHandler.h">
       <Filter>Header Files</Filter>
     </ClInclude>
@@ -95,5 +89,9 @@
     <ClInclude Include="include\Poco\JSON\TemplateCache.h">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="include\pdjson_private.h" />
+    <ClInclude Include="src\pdjson.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
 </Project>

+ 3 - 3
JSON/JSON_x64_vs90.vcproj

@@ -410,7 +410,7 @@
 			<File
 				RelativePath=".\src\ParserImpl.cpp"/>
 			<File
-				RelativePath=".\src\pd_json.c">
+				RelativePath=".\src\pdjson.c">
 				<FileConfiguration
 					Name="debug_shared|x64">
 					<Tool
@@ -484,9 +484,9 @@
 			<File
 				RelativePath=".\include\Poco\JSON\ParserImpl.h"/>
 			<File
-				RelativePath=".\include\pd_json.h"/>
+				RelativePath=".\src\pdjson.h"/>
 			<File
-				RelativePath=".\include\pd_json_private.h"/>
+				RelativePath=".\include\pdjson_private.h"/>
 			<File
 				RelativePath=".\include\Poco\JSON\PrintHandler.h"/>
 			<File

+ 1 - 1
JSON/Makefile

@@ -10,7 +10,7 @@ INCLUDE += -I $(POCO_BASE)/JSON/include/Poco/JSON
 
 objects = Array Object Parser ParserImpl Handler \
 	Stringifier ParseHandler PrintHandler Query \
-	JSONException Template TemplateCache pd_json
+	JSONException Template TemplateCache pdjson
 
 target         = PocoJSON
 target_version = $(LIBVERSION)

+ 2 - 2
JSON/include/Poco/JSON/Parser.h

@@ -160,12 +160,12 @@ inline std::size_t Parser::getDepth() const
 	return getDepthImpl();
 }
 
-
+/*
 inline void Parser::setHandler(const Handler::Ptr& pHandler)
 {
 	setHandlerImpl(pHandler);
 }
-
+*/
 
 inline const Handler::Ptr& Parser::getHandler()
 {

+ 2 - 2
JSON/include/Poco/JSON/ParserImpl.h

@@ -26,7 +26,7 @@
 #include "Poco/UTF8Encoding.h"
 #include "Poco/Dynamic/Var.h"
 #include <string>
-
+//#include "pdjson.h"
 
 struct json_stream;
 
@@ -104,7 +104,7 @@ private:
 	void stripComments(std::string& json);
 	bool checkError();
 
-	json_stream* _pJSON;
+	struct json_stream* _pJSON;
 	Handler::Ptr _pHandler;
 	int          _depth;
 	char         _decimalPoint;

+ 6 - 0
JSON/src/Parser.cpp

@@ -40,4 +40,10 @@ Parser::~Parser()
 }
 
 
+void Parser::setHandler(const Handler::Ptr& pHandler)
+{
+	setHandlerImpl(pHandler);
+}
+
+
 } } // namespace Poco::JSON

+ 2 - 2
JSON/src/ParserImpl.cpp

@@ -24,9 +24,9 @@
 #include <limits>
 #include <clocale>
 #include <istream>
-#include "pd_json.h"
-
+#include "pdjson.h"
 
+typedef struct json_stream json_stream;
 namespace Poco {
 namespace JSON {
 

+ 0 - 50
JSON/src/pd_json.h

@@ -1,50 +0,0 @@
-#ifndef PDJSON_H
-#define PDJSON_H
-
-#include <stdio.h>
-
-#if defined(__cplusplus) && !(defined(_WIN32_WCE) || defined(_WIN32) || defined(_WIN64))
-extern "C" {
-#endif
-
-enum json_type {
-    JSON_ERROR = 1, JSON_DONE,
-    JSON_OBJECT, JSON_OBJECT_END, JSON_ARRAY, JSON_ARRAY_END,
-    JSON_STRING, JSON_NUMBER, JSON_TRUE, JSON_FALSE, JSON_NULL
-};
-
-struct json_allocator {
-    void *(*malloc)(size_t);
-    void *(*realloc)(void *, size_t);
-    void (*free)(void *);
-};
-
-#include "pd_json_private.h"
-
-typedef struct json_stream json_stream;
-typedef struct json_allocator json_allocator;
-
-void json_open_buffer(json_stream *json, const void *buffer, size_t size);
-void json_open_string(json_stream *json, const char *string);
-void json_open_stream(json_stream *json, FILE *stream);
-void json_close(json_stream *json);
-
-void json_set_allocator(json_stream *json, json_allocator *a);
-void json_set_streaming(json_stream *json, bool strict);
-
-enum json_type json_next(json_stream *json);
-enum json_type json_peek(json_stream *json);
-void json_reset(json_stream *json);
-const char *json_get_string(json_stream *json, size_t *length);
-double json_get_number(json_stream *json);
-
-size_t json_get_lineno(json_stream *json);
-size_t json_get_position(json_stream *json);
-size_t json_get_depth(json_stream *json);
-const char *json_get_error(json_stream *json);
-
-#if defined(__cplusplus) && !(defined(_WIN32_WCE) || defined(_WIN32) || defined(_WIN64))
-}
-#endif
-
-#endif

+ 0 - 52
JSON/src/pd_json_private.h

@@ -1,52 +0,0 @@
-#ifndef PDJSON_PRIVATE_H
-#define PDJSON_PRIVATE_H
-
-#if defined(__STDC_VERSION__) || (__STDC_VERSION__ >= 199901L)
-#include <stdbool.h>
-#endif // __STDC_VERSION__
-#include <stdio.h>
-
-struct json_source {
-    int (*get) (struct json_source *);
-    int (*peek) (struct json_source *);
-    size_t position;
-    union {
-        struct {
-            FILE *stream;
-        } stream;
-        struct {
-            const char *buffer;
-            size_t length;
-        } buffer;
-    } source;
-};
-
-struct json_stack {
-    enum json_type type;
-    long count;
-};
-
-struct json_stream {
-    size_t lineno;
-
-    struct json_stack *stack;
-    size_t stack_top;
-    size_t stack_size;
-    enum json_type next;
-    int error : 31;
-    bool streaming : 1;
-
-    struct {
-        char *string;
-        size_t string_fill;
-        size_t string_size;
-    } data;
-
-    size_t ntokens;
-
-    struct json_source source;
-    struct json_allocator alloc;
-    char errmsg[128];
-};
-
-#endif

+ 79 - 34
JSON/src/pd_json.c → JSON/src/pdjson.c

@@ -1,33 +1,37 @@
+#define _POSIX_C_SOURCE 200112L
 #include <stdio.h>
+// patched for poco 1.8.x
 #if defined(__STDC_VERSION__) || (__STDC_VERSION__ >= 199901L)
 #include <stdbool.h>
+//#elif !defined(_MSC_VER)
+//typedef enum { false, true } bool;
 #endif // __STDC_VERSION__
 #include <stdlib.h>
 #include <string.h>
 #include <ctype.h>
 #include <errno.h>
-#include "pd_json.h"
+#include "pdjson.h"
 
-#if defined(_MSC_VER)
-#define strerror_r(err, buf, len) strerror_s(buf, len, err)
-#endif
+#define JSON_FLAG_ERROR      (1u << 0)
+#define JSON_FLAG_STREAMING  (1u << 1)
 
+// patched for poco 1.8.x (VS 2008)
 #if defined(_MSC_VER) && (_MSC_VER < 1900)
 
 #define json_error(json, format, ...)                             \
-  if (!json->error) {                                             \
-      json->error = 1;                                            \
-      _snprintf_s(json->errmsg, sizeof(json->errmsg), _TRUNCATE,  \
-               "error: %lu: " format,                             \
-               (unsigned long) json->lineno,                      \
-               __VA_ARGS__);                                      \
-  }                                                               \
+    if (!(json->flags & JSON_FLAG_ERROR)) {                       \
+        json->flags |= JSON_FLAG_ERROR;                           \
+        _snprintf_s(json->errmsg, sizeof(json->errmsg), _TRUNCATE,\
+                 "error: %lu: " format,                           \
+                 (unsigned long) json->lineno,                    \
+                 __VA_ARGS__);                                    \
+    }                                                             \
 
 #else
 
 #define json_error(json, format, ...)                             \
-    if (!json->error) {                                           \
-        json->error = 1;                                          \
+    if (!(json->flags & JSON_FLAG_ERROR)) {                       \
+        json->flags |= JSON_FLAG_ERROR;                           \
         snprintf(json->errmsg, sizeof(json->errmsg),              \
                  "error: %lu: " format,                           \
                  (unsigned long) json->lineno,                    \
@@ -36,6 +40,31 @@
 
 #endif // POCO_MSVS_VERSION
 
+#define STACK_INC 4
+
+#if defined(_MSC_VER) || defined(__MINGW32__)
+#define strerror_r(err, buf, len) strerror_s(buf, len, err)
+#endif
+/*
+const char *json_typename[] = {
+    [JSON_ERROR]      = "ERROR",
+    [JSON_DONE]       = "DONE",
+    [JSON_OBJECT]     = "OBJECT",
+    [JSON_OBJECT_END] = "OBJECT_END",
+    [JSON_ARRAY]      = "ARRAY",
+    [JSON_ARRAY_END]  = "ARRAY_END",
+    [JSON_STRING]     = "STRING",
+    [JSON_NUMBER]     = "NUMBER",
+    [JSON_TRUE]       = "TRUE",
+    [JSON_FALSE]      = "FALSE",
+    [JSON_NULL]       = "NULL",
+};
+*/
+struct json_stack {
+    enum json_type type;
+    long count;
+};
+
 static void json_error_s(json_stream *json, int err)
 {
     char errbuf[1024] = {0};
@@ -43,8 +72,6 @@ static void json_error_s(json_stream *json, int err)
     json_error(json, "%s", errbuf);
 }
 
-#define STACK_INC 4
-
 static enum json_type
 push(json_stream *json, enum json_type type)
 {
@@ -74,18 +101,12 @@ pop(json_stream *json, int c, enum json_type expected)
 {
     if (json->stack == NULL || json->stack[json->stack_top].type != expected) {
         json_error(json, "unexpected byte, '%c'", c);
-        json->alloc.free(json->stack);
         return JSON_ERROR;
     }
     json->stack_top--;
     return expected == JSON_ARRAY ? JSON_ARRAY_END : JSON_OBJECT_END;
 }
 
-static void pop_all(json_stream *json)
-{
-    json->alloc.free(json->stack);
-}
-
 static int buffer_peek(struct json_source *source)
 {
     if (source->position < source->source.buffer.length)
@@ -117,11 +138,10 @@ static int stream_peek(struct json_source *source)
 static void init(json_stream *json)
 {
     json->lineno = 1;
-    json->error = 0;
+    json->flags = JSON_FLAG_STREAMING;
     json->errmsg[0] = '\0';
     json->ntokens = 0;
     json->next = (enum json_type) 0;
-    json->streaming = true;
 
     json->stack = NULL;
     json->stack_top = -1;
@@ -334,7 +354,7 @@ int read_escaped(json_stream *json)
         case '"':
             {
                 const char *codes = "\\bfnrt/\"";
-                const char *p = strchr(codes, c);
+                char *p = (char*) strchr(codes, c);
                 if (pushchar(json, "\\\b\f\n\r\t/\""[p - codes]) != 0)
                     return -1;
             }
@@ -492,7 +512,7 @@ read_string(json_stream *json)
                 return JSON_ERROR;
         } else {
             if (char_needs_escaping(c)) {
-                json_error(json, "%s:%u", "unescaped control character in string", (unsigned)c);
+                json_error(json, "%s", "unescaped control character in string");
                 return JSON_ERROR;
             }
 
@@ -661,7 +681,7 @@ enum json_type json_peek(json_stream *json)
 
 enum json_type json_next(json_stream *json)
 {
-    if (json->error)
+    if (json->flags & JSON_FLAG_ERROR)
         return JSON_ERROR;
     if (json->next != 0) {
         enum json_type next = json->next;
@@ -677,13 +697,15 @@ enum json_type json_next(json_stream *json)
                 c = json->source.get(&json->source);
             }
         } while (json_isspace(c));
-        if (!json->streaming && c != EOF) {
+
+        if (!(json->flags & JSON_FLAG_STREAMING) && c != EOF) {
             return JSON_ERROR;
         }
+
         return JSON_DONE;
     }
     int c = next(json);
-    if (json->stack == NULL)
+    if (json->stack_top == (size_t)-1)
         return read_value(json, c);
     if (json->stack[json->stack_top].type == JSON_ARRAY) {
         if (json->stack[json->stack_top].count == 0) {
@@ -750,9 +772,9 @@ enum json_type json_next(json_stream *json)
 
 void json_reset(json_stream *json)
 {
-    pop_all(json);
+    json->stack_top = -1;
     json->ntokens = 0;
-    json->error = 0;
+    json->flags &= ~JSON_FLAG_ERROR;
     json->errmsg[0] = '\0';
 }
 
@@ -774,7 +796,7 @@ double json_get_number(json_stream *json)
 
 const char *json_get_error(json_stream *json)
 {
-    return json->error ? json->errmsg : NULL;
+    return json->flags & JSON_FLAG_ERROR ? json->errmsg : NULL;
 }
 
 size_t json_get_lineno(json_stream *json)
@@ -797,7 +819,7 @@ void json_open_buffer(json_stream *json, const void *buffer, size_t size)
     init(json);
     json->source.get = buffer_get;
     json->source.peek = buffer_peek;
-    json->source.source.buffer.buffer = (const char*) buffer;
+    json->source.source.buffer.buffer = (char*) buffer;
     json->source.source.buffer.length = size;
 }
 
@@ -814,6 +836,26 @@ void json_open_stream(json_stream *json, FILE * stream)
     json->source.source.stream.stream = stream;
 }
 
+static int user_get(struct json_source *json)
+{
+    return json->source.user.get(json->source.user.ptr);
+}
+
+static int user_peek(struct json_source *json)
+{
+    return json->source.user.peek(json->source.user.ptr);
+}
+
+void json_open_user(json_stream *json, json_user_io get, json_user_io peek, void *user)
+{
+    init(json);
+    json->source.get = user_get;
+    json->source.peek = user_peek;
+    json->source.source.user.ptr = user;
+    json->source.source.user.get = get;
+    json->source.source.user.peek = peek;
+}
+
 void json_set_allocator(json_stream *json, json_allocator *a)
 {
     json->alloc = *a;
@@ -821,11 +863,14 @@ void json_set_allocator(json_stream *json, json_allocator *a)
 
 void json_set_streaming(json_stream *json, bool streaming)
 {
-    json->streaming = streaming;
+    if (streaming)
+        json->flags |= JSON_FLAG_STREAMING;
+    else
+        json->flags &= ~JSON_FLAG_STREAMING;
 }
 
 void json_close(json_stream *json)
 {
-    pop_all(json);
+    json->alloc.free(json->stack);
     json->alloc.free(json->data.string);
 }

+ 104 - 0
JSON/src/pdjson.h

@@ -0,0 +1,104 @@
+#ifndef PDJSON_H
+#define PDJSON_H
+
+#if defined(__cplusplus)
+extern "C" {
+#endif // __cplusplus
+
+#include <stdio.h>
+#if !defined(_MSC_VER) // for poco 1.8.x we must compile as C++
+	#if defined(__STDC_VERSION__) || (__STDC_VERSION__ >= 199901L)
+		#include <stdbool.h>
+	#else
+		typedef enum { false, true } bool;
+	#endif // __STDC_VERSION__
+#endif
+
+enum json_type {
+    JSON_ERROR = 1, JSON_DONE,
+    JSON_OBJECT, JSON_OBJECT_END, JSON_ARRAY, JSON_ARRAY_END,
+    JSON_STRING, JSON_NUMBER, JSON_TRUE, JSON_FALSE, JSON_NULL
+};
+
+struct json_allocator {
+    void *(*malloc)(size_t);
+    void *(*realloc)(void *, size_t);
+    void (*free)(void *);
+};
+
+typedef int (*json_user_io) (void *user);
+
+typedef struct json_stream json_stream;
+typedef struct json_allocator json_allocator;
+
+//extern const char *json_typename[];
+
+void json_open_buffer(json_stream *json, const void *buffer, size_t size);
+void json_open_string(json_stream *json, const char *string);
+void json_open_stream(json_stream *json, FILE *stream);
+void json_open_user(json_stream *json, json_user_io get, json_user_io peek, void *user);
+void json_close(json_stream *json);
+
+void json_set_allocator(json_stream *json, json_allocator *a);
+void json_set_streaming(json_stream *json, bool strict);
+
+enum json_type json_next(json_stream *json);
+enum json_type json_peek(json_stream *json);
+void json_reset(json_stream *json);
+const char *json_get_string(json_stream *json, size_t *length);
+double json_get_number(json_stream *json);
+
+size_t json_get_lineno(json_stream *json);
+size_t json_get_position(json_stream *json);
+size_t json_get_depth(json_stream *json);
+const char *json_get_error(json_stream *json);
+
+/* internal */
+
+struct json_source {
+    int (*get) (struct json_source *);
+    int (*peek) (struct json_source *);
+    size_t position;
+    union {
+        struct {
+            FILE *stream;
+        } stream;
+        struct {
+            const char *buffer;
+            size_t length;
+        } buffer;
+        struct {
+            void *ptr;
+            json_user_io get;
+            json_user_io peek;
+        } user;
+    } source;
+};
+
+struct json_stream {
+    size_t lineno;
+
+    struct json_stack *stack;
+    size_t stack_top;
+    size_t stack_size;
+    enum json_type next;
+    unsigned flags;
+
+    struct {
+        char *string;
+        size_t string_fill;
+        size_t string_size;
+    } data;
+
+    size_t ntokens;
+
+    struct json_source source;
+    struct json_allocator alloc;
+    char errmsg[128];
+};
+
+#if defined(__cplusplus)
+} // extern "C"
+#endif // __cplusplus
+
+#endif