Webboard: mnogosearch-3.3.10 vs. postgres-9.0

[email protected]
Newsgroups gmane.comp.web.mnogosearch.general
Message-ID <[email protected]>
Author: Alexander Barkov
Email: [email protected]
Message:
This patch fixes the problem.

Will be included into mnogosearch-3.3.12:



diff -u mnogosearch33/include/udm_utils.h:1.78 mnogosearch33/include/udm_utils.h:1.79

--- mnogosearch33/include/udm_utils.h:1.78	Thu Jan 27 16:57:20 2011

+++ mnogosearch33/include/udm_utils.h	Fri Jan 28 23:04:30 2011

@@ -163,6 +163,7 @@

 

 

 size_t UdmHexEncode(char *dst, const char *src, size_t len);

+size_t UdmHexDecode(char *dst, const char *src, size_t len);

 

 #define BASE64_LEN(len) (4 * (((len) + 2) / 3) +2)

 extern __C_LINK size_t __UDMCALL udm_base64_encode (const char *s, char *store, size_t length);

Index: mnogosearch33/src/sql-pgsql.c

diff -u mnogosearch33/src/sql-pgsql.c:1.50 mnogosearch33/src/sql-pgsql.c:1.51

--- mnogosearch33/src/sql-pgsql.c:1.50	Thu Jan 27 16:57:24 2011

+++ mnogosearch33/src/sql-pgsql.c	Fri Jan 28 23:04:30 2011

@@ -146,6 +146,12 @@

 {

   char *dst0= dst;

   const char *srcend= src + length;

+  

+  /* Postgres 9.0 hex format */

+  if (length > 1 && src[0] == '\\' && src[1] == 'x')

+    return UdmHexDecode(dst, src + 2, length - 2);

+  

+  /* Traditional Postgres escape format */

   for ( ; src < srcend; dst++, src++)

   {

     if (*src == '\\' && src + 4 <= srcend &&

Index: mnogosearch33/src/utils.c

diff -u mnogosearch33/src/utils.c:1.128 mnogosearch33/src/utils.c:1.129

--- mnogosearch33/src/utils.c:1.128	Thu Jan 27 16:57:25 2011

+++ mnogosearch33/src/utils.c	Fri Jan 28 23:04:30 2011

@@ -92,6 +92,21 @@

 }

 

 

+size_t

+UdmHexDecode(char *dst, const char *src, size_t len)

+{

+  char *dst0= dst;

+  for ( ; len > 1; len-= 2)

+  {

+    int hi, lo;

+    if ((hi= ch2x(*src++)) < 0 || (lo= ch2x(*src++)) < 0)

+      return 0; /* Bad character */

+    *dst++= hi << 4 | lo;

+  }

+  return dst - dst0;

+}

+

+

 char*

 UdmUnescapeCGIQuery(char *d, const char *s)

 {





Reply: <http://www.mnogosearch.org/board/message.php?id=21190>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.