Skip to content

Commit b00c7fc

Browse files
authored
Remove private implementation of printf (#3020)
1 parent 596fc57 commit b00c7fc

File tree

17 files changed

+25
-1611
lines changed

17 files changed

+25
-1611
lines changed

CMake/Modules/FindNF_CoreCLR.cmake

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ list(APPEND NF_CoreCLR_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/targets/${RTOS}/_include
2222
list(APPEND NF_CoreCLR_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/src/CLR/Diagnostics)
2323
list(APPEND NF_CoreCLR_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/src/CLR/Debugger)
2424
list(APPEND NF_CoreCLR_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/src/CLR/Helpers/NanoRingBuffer)
25-
list(APPEND NF_CoreCLR_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/src/CLR/Helpers/nanoprintf)
2625
list(APPEND NF_CoreCLR_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/src/CLR/Helpers/Base64)
2726
list(APPEND NF_CoreCLR_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/src/nanoFramework.Runtime.Events)
2827
list(APPEND NF_CoreCLR_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/src/nanoFramework.Runtime.Native)
@@ -143,7 +142,6 @@ set(NF_CoreCLR_SRCS
143142
Messaging_stub.cpp
144143

145144
# Helpers
146-
nanoprintf.c
147145
nanoRingBuffer.c
148146
Info_Safeprintf.cpp
149147

@@ -268,7 +266,6 @@ foreach(SRC_FILE ${NF_CoreCLR_SRCS})
268266
${CMAKE_SOURCE_DIR}/src/CLR/Messaging
269267

270268
# Helpers
271-
${CMAKE_SOURCE_DIR}/src/CLR/Helpers/nanoprintf
272269
${CMAKE_SOURCE_DIR}/src/CLR/Helpers/NanoRingBuffer
273270
${CMAKE_SOURCE_DIR}/src/CLR/Helpers/Base64
274271
${CMAKE_SOURCE_DIR}/src/CLR/Diagnostics

src/CLR/CorLib/CorLib.h

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,10 @@
88

99
#include <nanoCLR_Runtime.h>
1010
#include <nanoCLR_Checks.h>
11-
//#include <nanoCLR_Diagnostics.h>
12-
//#include <nanoCLR_Hardware.h>
11+
// #include <nanoCLR_Diagnostics.h>
12+
// #include <nanoCLR_Hardware.h>
1313

1414
#include "corlib_native.h"
1515
#include "nanoCRT.h"
1616

17-
#ifndef VIRTUAL_DEVICE
18-
#include <nanoprintf.h>
19-
#endif // VIRTUAL_DEVICE
20-
2117
#endif // NANOCLR_CORLIB_NATIVE_H

src/CLR/CorLib/CorLib.vcxproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@
152152
<WarningLevel>Level3</WarningLevel>
153153
<Optimization>Disabled</Optimization>
154154
<PreprocessorDefinitions>_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
155-
<AdditionalIncludeDirectories>..\..\..\targets\win32\Include;..\..\CLR\Helpers\nanoprintf;..\Include;..\..\HAL\Include;..\..\PAL\Include;..\..\CLR\Helpers\Base64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
155+
<AdditionalIncludeDirectories>..\..\..\targets\win32\Include;..\Include;..\..\HAL\Include;..\..\PAL\Include;..\..\CLR\Helpers\Base64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
156156
</ClCompile>
157157
<Link>
158158
<SubSystem>Windows</SubSystem>
@@ -165,7 +165,7 @@
165165
<WarningLevel>Level3</WarningLevel>
166166
<Optimization>Disabled</Optimization>
167167
<PreprocessorDefinitions>_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
168-
<AdditionalIncludeDirectories>..\..\..\targets\win32\Include;..\..\CLR\Helpers\nanoprintf;..\Include;..\..\HAL\Include;..\..\PAL\Include;..\..\CLR\Helpers\Base64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
168+
<AdditionalIncludeDirectories>..\..\..\targets\win32\Include;..\Include;..\..\HAL\Include;..\..\PAL\Include;..\..\CLR\Helpers\Base64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
169169
</ClCompile>
170170
<Link>
171171
<SubSystem>Windows</SubSystem>
@@ -180,7 +180,7 @@
180180
<FunctionLevelLinking>true</FunctionLevelLinking>
181181
<IntrinsicFunctions>true</IntrinsicFunctions>
182182
<PreprocessorDefinitions>NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
183-
<AdditionalIncludeDirectories>..\..\..\targets\win32\Include;..\..\CLR\Helpers\nanoprintf;..\Include;..\..\HAL\Include;..\..\PAL\Include;..\..\CLR\Helpers\Base64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
183+
<AdditionalIncludeDirectories>..\..\..\targets\win32\Include;..\Include;..\..\HAL\Include;..\..\PAL\Include;..\..\CLR\Helpers\Base64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
184184
</ClCompile>
185185
<Link>
186186
<SubSystem>Windows</SubSystem>
@@ -197,7 +197,7 @@
197197
<FunctionLevelLinking>true</FunctionLevelLinking>
198198
<IntrinsicFunctions>true</IntrinsicFunctions>
199199
<PreprocessorDefinitions>NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
200-
<AdditionalIncludeDirectories>..\..\..\targets\win32\Include;..\..\CLR\Helpers\nanoprintf;..\Include;..\..\HAL\Include;..\..\PAL\Include;..\..\CLR\Helpers\Base64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
200+
<AdditionalIncludeDirectories>..\..\..\targets\win32\Include;..\Include;..\..\HAL\Include;..\..\PAL\Include;..\..\CLR\Helpers\Base64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
201201
</ClCompile>
202202
<Link>
203203
<SubSystem>Windows</SubSystem>
@@ -208,4 +208,4 @@
208208
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
209209
<ImportGroup Label="ExtensionTargets">
210210
</ImportGroup>
211-
</Project>
211+
</Project>

src/CLR/CorLib/corlib_native_System_Number.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
// See LICENSE file in the project root for full license information.
55
//
66
#include "CorLib.h"
7-
#include <nanoprintf.h>
87

98
// must be big enough to fit the biggest number
109
// decorated with negative signs, group separators, etc.

src/CLR/Core/Core.vcxproj

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
</ProjectConfiguration>
2020
</ItemGroup>
2121
<ItemGroup>
22-
<ClCompile Include="..\Helpers\nanoprintf\nanoprintf.c" />
2322
<ClCompile Include="Cache.cpp" />
2423
<ClCompile Include="Checks.cpp" />
2524
<ClCompile Include="CLR_RT_DblLinkedList.cpp" />
@@ -218,4 +217,4 @@
218217
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
219218
<ImportGroup Label="ExtensionTargets">
220219
</ImportGroup>
221-
</Project>
220+
</Project>

src/CLR/Core/Core.vcxproj.filters

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,9 +132,6 @@
132132
<ClCompile Include="CLR_RT_HeapBlock_Queue.cpp">
133133
<Filter>Source Files</Filter>
134134
</ClCompile>
135-
<ClCompile Include="..\Helpers\nanoprintf\nanoprintf.c">
136-
<Filter>Source Files</Filter>
137-
</ClCompile>
138135
<ClCompile Include="nanoSupport_CRC32.c">
139136
<Filter>Source Files</Filter>
140137
</ClCompile>

src/CLR/Diagnostics/Diagnostics.h

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,10 @@
55
//
66
#include <nanoCLR_Runtime.h>
77
#include <nanoCLR_Checks.h>
8-
//#include <nanoCLR_Diagnostics.h>
9-
//#include <nanoCLR_Graphics.h>
10-
//#include <nanoCLR_Hardware.h>
11-
//#include <core.h>
8+
// #include <nanoCLR_Diagnostics.h>
9+
// #include <nanoCLR_Graphics.h>
10+
// #include <nanoCLR_Hardware.h>
11+
// #include <core.h>
1212

1313
#include <corlib_native.h>
14-
#ifndef VIRTUAL_DEVICE
15-
#include <nanoprintf.h>
16-
#endif // VIRTUAL_DEVICE
17-
//#include <spot_net_native.h>
14+
// #include <spot_net_native.h>

src/CLR/Diagnostics/Diagnostics.vcxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@
105105
<WarningLevel>Level3</WarningLevel>
106106
<Optimization>Disabled</Optimization>
107107
<PreprocessorDefinitions>_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
108-
<AdditionalIncludeDirectories>..\Helpers\nanoprintf;..\..\..\targets\win32\Include;..\Include;..\CorLib;..\..\HAL\Include;..\..\PAL\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
108+
<AdditionalIncludeDirectories>..\..\..\targets\win32\Include;..\Include;..\CorLib;..\..\HAL\Include;..\..\PAL\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
109109
</ClCompile>
110110
<Link>
111111
<SubSystem>Windows</SubSystem>
@@ -118,7 +118,7 @@
118118
<WarningLevel>Level3</WarningLevel>
119119
<Optimization>Disabled</Optimization>
120120
<PreprocessorDefinitions>_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
121-
<AdditionalIncludeDirectories>..\Helpers\nanoprintf;..\..\..\targets\win32\Include;..\Include;..\CorLib;..\..\HAL\Include;..\..\PAL\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
121+
<AdditionalIncludeDirectories>..\..\..\targets\win32\Include;..\Include;..\CorLib;..\..\HAL\Include;..\..\PAL\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
122122
</ClCompile>
123123
<Link>
124124
<SubSystem>Windows</SubSystem>
@@ -133,7 +133,7 @@
133133
<FunctionLevelLinking>true</FunctionLevelLinking>
134134
<IntrinsicFunctions>true</IntrinsicFunctions>
135135
<PreprocessorDefinitions>NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
136-
<AdditionalIncludeDirectories>..\Helpers\nanoprintf;..\..\..\targets\win32\Include;..\Include;..\CorLib;..\..\HAL\Include;..\..\PAL\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
136+
<AdditionalIncludeDirectories>..\..\..\targets\win32\Include;..\Include;..\CorLib;..\..\HAL\Include;..\..\PAL\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
137137
</ClCompile>
138138
<Link>
139139
<SubSystem>Windows</SubSystem>
@@ -150,7 +150,7 @@
150150
<FunctionLevelLinking>true</FunctionLevelLinking>
151151
<IntrinsicFunctions>true</IntrinsicFunctions>
152152
<PreprocessorDefinitions>NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
153-
<AdditionalIncludeDirectories>..\Helpers\nanoprintf;..\..\..\targets\win32\Include;..\Include;..\CorLib;..\..\HAL\Include;..\..\PAL\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
153+
<AdditionalIncludeDirectories>..\..\..\targets\win32\Include;..\Include;..\CorLib;..\..\HAL\Include;..\..\PAL\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
154154
</ClCompile>
155155
<Link>
156156
<SubSystem>Windows</SubSystem>

src/CLR/Diagnostics/Info_Safeprintf.cpp

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,22 @@
55
//
66

77
#include <nanoCLR_Types.h>
8-
#include <nanoprintf.h>
98

109
bool CLR_SafeSprintfV(char *&szBuffer, size_t &iBuffer, const char *format, va_list arg)
1110
{
1211
NATIVE_PROFILE_CLR_DIAGNOSTICS();
1312

14-
int chars = vsnprintf(szBuffer, iBuffer, format, arg);
15-
bool fRes = (chars >= 0);
13+
size_t chars = vsnprintf(szBuffer, iBuffer, format, arg);
14+
bool fRes = (chars < iBuffer);
1615

17-
if (fRes == false)
18-
chars = (int)iBuffer;
16+
if (!fRes)
17+
{
18+
// If the buffer was too small, set chars to iBuffer - 1 to ensure null-termination
19+
chars = iBuffer - 1;
20+
}
1921

2022
szBuffer += chars;
23+
// Null-terminate the buffer
2124
szBuffer[0] = 0;
2225
iBuffer -= chars;
2326

0 commit comments

Comments
 (0)