Changeset 86247 in vbox for trunk/src/VBox/GuestHost/SharedClipboard
- Timestamp:
- Sep 23, 2020 4:44:40 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 140518
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/GuestHost/SharedClipboard/clipboard-common.cpp
r86000 r86247 974 974 975 975 #ifdef LOG_ENABLED 976 976 977 int ShClDbgDumpHtml(const char *pcszSrc, size_t cbSrc) 977 978 { 978 size_t cchIgnored = 0; 979 int rc = RTStrNLenEx(pcszSrc, cbSrc, &cchIgnored); 980 if (RT_SUCCESS(rc)) 981 { 982 char *pszBuf = (char *)RTMemAllocZ(cbSrc + 1); 983 if (pszBuf) 984 { 985 rc = RTStrCopy(pszBuf, cbSrc + 1, (const char *)pcszSrc); 986 if (RT_SUCCESS(rc)) 979 int rc = VINF_SUCCESS; 980 char *pszBuf = (char *)RTMemTmpAllocZ(cbSrc + 1); 981 if (pszBuf) 982 { 983 memcpy(pszBuf, pcszSrc, cbSrc); 984 pszBuf[cbSrc] = '\0'; 985 for (size_t off = 0; off < cbSrc; ++off) 986 if (pszBuf[off] == '\n' || pszBuf[off] == '\r') 987 pszBuf[off] = ' '; 988 LogFunc(("Removed \\r\\n: %s\n", pszBuf)); 989 RTMemTmpFree(pszBuf); 990 } 991 else 992 rc = VERR_NO_MEMORY; 993 return rc; 994 } 995 996 void ShClDbgDumpData(const void *pv, size_t cb, SHCLFORMAT uFormat) 997 { 998 if (LogIsEnabled()) 999 { 1000 if (uFormat & VBOX_SHCL_FMT_UNICODETEXT) 1001 { 1002 LogFunc(("VBOX_SHCL_FMT_UNICODETEXT:\n")); 1003 if (pv && cb) 1004 LogFunc(("%ls\n", pv)); 1005 else 1006 LogFunc(("%p %zu\n", pv, cb)); 1007 } 1008 else if (uFormat & VBOX_SHCL_FMT_BITMAP) 1009 LogFunc(("VBOX_SHCL_FMT_BITMAP\n")); 1010 else if (uFormat & VBOX_SHCL_FMT_HTML) 1011 { 1012 LogFunc(("VBOX_SHCL_FMT_HTML:\n")); 1013 if (pv && cb) 987 1014 { 988 for (size_t i = 0; i < cbSrc; ++i) 989 if (pszBuf[i] == '\n' || pszBuf[i] == '\r') 990 pszBuf[i] = ' '; 1015 LogFunc(("%s\n", pv)); 1016 ShClDbgDumpHtml((const char *)pv, cb); 991 1017 } 992 1018 else 993 LogFunc(("Error in copying string\n")); 994 LogFunc(("Removed \\r\\n: %s\n", pszBuf)); 995 RTMemFree(pszBuf); 1019 LogFunc(("%p %zu\n", pv, cb)); 996 1020 } 997 1021 else 998 rc = VERR_NO_MEMORY; 999 } 1000 1001 return rc; 1002 } 1003 1004 void ShClDbgDumpData(const void *pv, size_t cb, SHCLFORMAT uFormat) 1005 { 1006 if (uFormat & VBOX_SHCL_FMT_UNICODETEXT) 1007 { 1008 LogFunc(("VBOX_SHCL_FMT_UNICODETEXT:\n")); 1009 if (pv && cb) 1010 LogFunc(("%ls\n", pv)); 1011 else 1012 LogFunc(("%p %zu\n", pv, cb)); 1013 } 1014 else if (uFormat & VBOX_SHCL_FMT_BITMAP) 1015 LogFunc(("VBOX_SHCL_FMT_BITMAP\n")); 1016 else if (uFormat & VBOX_SHCL_FMT_HTML) 1017 { 1018 LogFunc(("VBOX_SHCL_FMT_HTML:\n")); 1019 if (pv && cb) 1020 { 1021 LogFunc(("%s\n", pv)); 1022 1023 //size_t cb = RTStrNLen(pv, ); 1024 char *pszBuf = (char *)RTMemAllocZ(cb + 1); 1025 RTStrCopy(pszBuf, cb + 1, (const char *)pv); 1026 for (size_t off = 0; off < cb; ++off) 1027 { 1028 if (pszBuf[off] == '\n' || pszBuf[off] == '\r') 1029 pszBuf[off] = ' '; 1030 } 1031 1032 LogFunc(("%s\n", pszBuf)); 1033 RTMemFree(pszBuf); 1034 } 1035 else 1036 LogFunc(("%p %zu\n", pv, cb)); 1037 } 1038 else 1039 LogFunc(("Invalid format %02X\n", uFormat)); 1040 } 1022 LogFunc(("Invalid format %02X\n", uFormat)); 1023 } 1024 } 1025 1041 1026 #endif /* LOG_ENABLED */ 1042 1027
Note:
See TracChangeset
for help on using the changeset viewer.