ソースを参照

Z991239-6390 #comment 字符串校准

80374374 2 ヶ月 前
コミット
6eb9d5b66b

+ 3 - 1
Framework/libtoolkit/win/util.c

@@ -473,7 +473,9 @@ void toolkit_free_interface_addresses(toolkit_interface_address_t* addresses, in
 {
     FREE(addresses);
 }
-
+/* Emulate snprintf() on MSVC<2015, _snprintf() doesn't zero-terminate the buffer
+ * on overflow...
+ */
 #if (!defined(_MSC_VER )) || (_MSC_VER < 1928)
 int snprintf(char* buf, size_t len, const char* fmt, ...)
 {

+ 3 - 6
Framework/winpr/include/winpr/string.h

@@ -76,7 +76,7 @@ WINPR_API WCHAR* wcstok_s(WCHAR* strToken, const WCHAR* strDelimit, WCHAR** cont
 #define stricmp _stricmp
 #define strnicmp _strnicmp
 #define strcpy_s(dst, size, src) strcpy(dst, src)
-
+#define strncpy_s(a, b, c, d) strncpy(a, c, d)
 #else
 
 #define _wcscmp wcscmp
@@ -185,14 +185,11 @@ WINPR_API WCHAR* wcstok_s(WCHAR* strToken, const WCHAR* strDelimit, WCHAR** cont
 
 #define	 sprintf_s	snprintf
 #define	 _snprintf	snprintf
-#define _scprintf(...) snprintf(NULL, 0, __VA_ARGS__)
-
-#define _scprintf(...) snprintf(NULL, 0, __VA_ARGS__)
-
+#define	 _vsnprintf	vsnprintf
 #define _scprintf(...) snprintf(NULL, 0, __VA_ARGS__)
 
 #if 0
-#define _vscprintf(...) vsnprintf(NULL, 0, __VA_ARGS__)
+	#define _vscprintf(...) vsnprintf(NULL, 0, __VA_ARGS__)
 #else
 	WINPR_API int _vscprintf(const char* format, va_list pargs);
 #endif

+ 5 - 18
Module/mod_RomoteController/RemoteControllerCnn.cpp

@@ -69,19 +69,6 @@ void _ui64toa(unsigned long long large_unit, char* str, int hexdigith)
 }
 #endif //RVC_OS_LINUX
 
-int strncpy_s(char* _Destination, size_t _SizeInBytes, char const* _Source, size_t _MaxCount)
-{
-	if (_MaxCount > _SizeInBytes)
-		return nullptr == strncpy(_Destination, _Source, _SizeInBytes);
-	else
-		return nullptr == strncpy(_Destination, _Source, _MaxCount);
-}
-
-int strncpy_s(char* _Destination, char const* _Source, size_t _MaxCount)
-{
-	return nullptr == strncpy(_Destination, _Source, _MaxCount);
-}
-
 #endif
 
 
@@ -2940,9 +2927,9 @@ ErrorCodeEnum CRemoteControllerCnn::HandleBatchUploadLogsByDateReq(const CSmartP
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("HandleBatchUploadLogsByDateReq")("RvcBatchUploadLogsByDateReq2");
 		pRecvPkg->GetStructData("ULogsBDR", (BYTE*)&req2, &nLen, &nArrayLen);
 		req.TaskID = req2.TaskID;
-		strncpy_s(req.ViewDate, req2.ViewDate, sizeof(req2.ViewDate));
-		strncpy_s(req.UploadFile, req2.UploadFile, sizeof(req2.UploadFile));
-		strncpy_s(req.ZipFileName, req2.ZipFileName, sizeof(req2.ZipFileName));
+		strncpy_s(req.ViewDate, sizeof(req.ViewDate), req2.ViewDate, sizeof(req2.ViewDate));
+		strncpy_s(req.UploadFile, sizeof(req.UploadFile), req2.UploadFile, sizeof(req2.UploadFile));
+		strncpy_s(req.ZipFileName, sizeof(req.ZipFileName), req2.ZipFileName, sizeof(req2.ZipFileName));
 		req.StartPos = req2.StartPos;
 		req.MaxRetBytes = req2.MaxRetBytes;
 	}
@@ -3167,8 +3154,8 @@ ErrorCodeEnum CRemoteControllerCnn::HandleBatchUploadLogsReq(const CSmartPointer
 		req.TaskID = req2.TaskID;
 		req.StartPos = req2.StartPos;
 		req.MaxRetBytes = req2.MaxRetBytes;
-		strncpy_s(req.UploadFile, req2.UploadFile, sizeof(req2.UploadFile));
-		strncpy_s(req.ZipFileName, req2.ZipFileName, sizeof(req2.ZipFileName));
+		strncpy_s(req.UploadFile, sizeof(req.UploadFile), req2.UploadFile, sizeof(req2.UploadFile));
+		strncpy_s(req.ZipFileName, sizeof(req.ZipFileName), req2.ZipFileName, sizeof(req2.ZipFileName));
 	}
 	
 	

+ 0 - 9
Module/mod_RomoteController/RemoteControllerCnn.h

@@ -129,15 +129,6 @@ struct RvcOperateDiskJsonRet
 	char jsonData[0];
 };
 
-#if !(defined _WIN32 || defined _WIN64)
-
-#define _TRUNCATE ((size_t)-1)
-int strncpy_s(char* _Destination, size_t _SizeInBytes, char const* _Source, size_t _MaxCount);
-
-int strncpy_s(char* _Destination, char const* _Source, size_t _MaxCount);
-
-#endif
-
 #include "remoteBase.h"
 
 // [StructName("OprDiskA2")]