]> source.dussan.org Git - tigervnc.git/commitdiff
Specify expected array size in arguments
authorPierre Ossman <ossman@cendio.se>
Tue, 10 Jan 2023 18:23:50 +0000 (19:23 +0100)
committerPierre Ossman <ossman@cendio.se>
Sat, 4 Feb 2023 13:03:13 +0000 (14:03 +0100)
The compiler doesn't enforce this, but it at least documents the
expected array size.

common/rfb/util.cxx
common/rfb/util.h

index cfc694e3d36e465963090f8b991fae217753e5e7..d1ba9200970a4a5e4b955cb3a70b930ee380d4fa 100644 (file)
@@ -301,7 +301,7 @@ namespace rfb {
     return buffer;
   }
 
-  size_t ucs4ToUTF8(unsigned src, char* dst) {
+  size_t ucs4ToUTF8(unsigned src, char dst[5]) {
     if (src < 0x80) {
       *dst++ = src;
       *dst++ = '\0';
@@ -382,7 +382,7 @@ namespace rfb {
     return consumed;
   }
 
-  size_t ucs4ToUTF16(unsigned src, wchar_t* dst) {
+  size_t ucs4ToUTF16(unsigned src, wchar_t dst[3]) {
     if ((src < 0xd800) || ((src >= 0xe000) && (src < 0x10000))) {
       *dst++ = src;
       *dst++ = L'\0';
index 7f65fa87b52abc950c40491b2ebf604fdcccdfda..e7d716fe3e7a31b2dcb2f04acd9cef35caae2055 100644 (file)
@@ -91,10 +91,10 @@ namespace rfb {
   // Convertions between various Unicode formats. The returned strings are
   // always null terminated and must be freed using strFree().
 
-  size_t ucs4ToUTF8(unsigned src, char* dst);
+  size_t ucs4ToUTF8(unsigned src, char dst[5]);
   size_t utf8ToUCS4(const char* src, size_t max, unsigned* dst);
 
-  size_t ucs4ToUTF16(unsigned src, wchar_t* dst);
+  size_t ucs4ToUTF16(unsigned src, wchar_t dst[3]);
   size_t utf16ToUCS4(const wchar_t* src, size_t max, unsigned* dst);
 
   char* latin1ToUTF8(const char* src, size_t bytes = (size_t)-1);