]> source.dussan.org Git - tigervnc.git/commitdiff
Use standard C string functions
authorPierre Ossman <ossman@cendio.se>
Mon, 23 Jan 2023 19:04:15 +0000 (20:04 +0100)
committerPierre Ossman <ossman@cendio.se>
Sat, 4 Feb 2023 13:03:13 +0000 (14:03 +0100)
It's just confusing that we have our own variety that isn't compatible.

common/rfb/util.cxx
common/rfb/util.h
unix/tx/TXWindow.cxx
unix/xserver/hw/vnc/RFBGlue.cc
unix/xserver/hw/vnc/RFBGlue.h
unix/xserver/hw/vnc/vncSelection.c

index 0df9e1e3cfefc86b81263af6fdb31473cf59b89f..22918cf9220262c5a91b880cfada768cadf8718c 100644 (file)
 
 namespace rfb {
 
-  char* strDup(const char* s) {
-    if (!s) return 0;
-    int l = strlen(s);
-    char* r = new char[l+1];
-    memcpy(r, s, l+1);
-    return r;
-  };
-
-  void strFree(char* s) {
-    delete [] s;
-  }
-
   std::string strFormat(const char *fmt, ...)
   {
     va_list ap;
@@ -91,19 +79,6 @@ namespace rfb {
     return out;
   }
 
-  bool strContains(const char* src, char c) {
-    int l=strlen(src);
-    for (int i=0; i<l; i++)
-      if (src[i] == c) return true;
-    return false;
-  }
-
-  void strCopy(char* dest, const char* src, int destlen) {
-    if (src)
-      strncpy(dest, src, destlen-1);
-    dest[src ? destlen-1 : 0] = 0;
-  }
-
   static char intToHex(uint8_t i) {
     if (i<=9)
       return '0'+i;
index 799e0756c1d70b7415f58f895b674fdb681a356d..1e59de621baa81809bae0ba3ad8441e0af2f243e 100644 (file)
@@ -34,9 +34,6 @@ struct timeval;
 
 namespace rfb {
 
-  char* strDup(const char* s);
-  void strFree(char* s);
-
   // Formats according to printf(), with a dynamic allocation
   std::string strFormat(const char *fmt, ...)
       __attribute__((__format__ (__printf__, 1, 2)));
@@ -45,12 +42,6 @@ namespace rfb {
   std::vector<std::string> strSplit(const char* src,
                                     const char delimiter);
 
-  // Returns true if src contains c
-  bool strContains(const char* src, char c);
-
-  // Copies src to dest, up to specified length-1, and guarantees termination
-  void strCopy(char* dest, const char* src, int destlen);
-
   // Conversion to and from a hex string
 
   void binToHex(const uint8_t* in, size_t inlen, char* out, size_t outlen);
index a631fa6685eac8b7b57aec517009783df8789f52..ee097e45e3472b40562b8ceff9b3cf340cdd5078 100644 (file)
 #include <X11/Xatom.h>
 #include "TXWindow.h"
 #include <list>
+#include <limits.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <vector>
-#include <rfb/util.h>
 
 std::list<TXWindow*> windows;
 
@@ -101,7 +101,7 @@ void TXWindow::init(Display* dpy, const char* defaultWindowClass_)
   static unsigned char tickBits[] = { 0x80, 0xc0, 0xe2, 0x76, 0x3e, 0x1c, 0x08, 0x00};
   tick = XCreateBitmapFromData(dpy, DefaultRootWindow(dpy), (char*)tickBits,
                                tickSize, tickSize);
-  defaultWindowClass = rfb::strDup(defaultWindowClass_);
+  defaultWindowClass = strdup(defaultWindowClass_);
 }
 
 void TXWindow::handleXEvents(Display* dpy)
index 6bf745fcc4190613ae0249223a3f2098e9dc9d4f..2fbc27ee06847354c5470f34a7e0dddee4070b88 100644 (file)
@@ -225,7 +225,7 @@ int vncIsTCPPortUsed(int port)
 char* vncConvertLF(const char* src, size_t bytes)
 {
   try {
-    return strDup(convertLF(src, bytes).c_str());
+    return strdup(convertLF(src, bytes).c_str());
   } catch (...) {
     return NULL;
   }
@@ -234,7 +234,7 @@ char* vncConvertLF(const char* src, size_t bytes)
 char* vncLatin1ToUTF8(const char* src, size_t bytes)
 {
   try {
-    return strDup(latin1ToUTF8(src, bytes).c_str());
+    return strdup(latin1ToUTF8(src, bytes).c_str());
   } catch (...) {
     return NULL;
   }
@@ -243,13 +243,8 @@ char* vncLatin1ToUTF8(const char* src, size_t bytes)
 char* vncUTF8ToLatin1(const char* src, size_t bytes)
 {
   try {
-    return strDup(utf8ToLatin1(src, bytes).c_str());
+    return strdup(utf8ToLatin1(src, bytes).c_str());
   } catch (...) {
     return NULL;
   }
 }
-
-void vncStrFree(char* str)
-{
-  strFree(str);
-}
index 9dd91eab726d7fcb9392563d76ecf66471b7966c..d2b2e8aa86b9c378d87c11c265f98987c5edb9fb 100644 (file)
@@ -53,8 +53,6 @@ char* vncConvertLF(const char* src, size_t bytes);
 char* vncLatin1ToUTF8(const char* src, size_t bytes);
 char* vncUTF8ToLatin1(const char* src, size_t bytes);
 
-void vncStrFree(char* str);
-
 #ifdef __cplusplus
 }
 #endif
index 8cde6de50669d248e3e6f7139261b0921d105aef..1ed3514937709b94a8bcd7f96ac2ae2e7e5d4ec8 100644 (file)
@@ -425,7 +425,7 @@ static int vncConvertSelection(ClientPtr client, Atom selection,
                                      XA_STRING, 8, PropModeReplace,
                                      strlen(latin1), latin1, TRUE);
 
-        vncStrFree(latin1);
+        free(latin1);
 
         if (rc != Success)
           return rc;
@@ -593,7 +593,7 @@ static void vncHandleSelection(Atom selection, Atom target,
       return;
 
     utf8 = vncLatin1ToUTF8(filtered, (size_t)-1);
-    vncStrFree(filtered);
+    free(filtered);
     if (utf8 == NULL)
       return;
 
@@ -602,7 +602,7 @@ static void vncHandleSelection(Atom selection, Atom target,
 
     vncSendClipboardData(utf8);
 
-    vncStrFree(utf8);
+    free(utf8);
   } else if (target == xaUTF8_STRING) {
     char *filtered;
 
@@ -620,7 +620,7 @@ static void vncHandleSelection(Atom selection, Atom target,
 
     vncSendClipboardData(filtered);
 
-    vncStrFree(filtered);
+    free(filtered);
   }
 }