pcrs_strerror(): Include the error code for unknown errors
authorFabian Keil <fk@fabiankeil.de>
Sun, 27 Dec 2015 12:45:46 +0000 (12:45 +0000)
committerFabian Keil <fk@fabiankeil.de>
Sun, 27 Dec 2015 12:45:46 +0000 (12:45 +0000)
While the approach (static buffer) is somewhat racy,
it's unlikely to matter in practice.

pcrs.c

diff --git a/pcrs.c b/pcrs.c
index 4d11227..156ae98 100644 (file)
--- a/pcrs.c
+++ b/pcrs.c
@@ -1,4 +1,4 @@
-const char pcrs_rcs[] = "$Id: pcrs.c,v 1.46 2014/11/14 10:40:10 fabiankeil Exp $";
+const char pcrs_rcs[] = "$Id: pcrs.c,v 1.47 2015/01/24 16:40:59 fabiankeil Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/pcrs.c,v $
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/pcrs.c,v $
@@ -80,6 +80,8 @@ static int              is_hex_sequence(const char *sequence);
  *********************************************************************/
 const char *pcrs_strerror(const int error)
 {
  *********************************************************************/
 const char *pcrs_strerror(const int error)
 {
+   static char buf[100];
+
    if (error != 0)
    {
       switch (error)
    if (error != 0)
    {
       switch (error)
@@ -119,7 +121,11 @@ const char *pcrs_strerror(const int error)
           * version. If Privoxy is linked against a newer
           * PCRE version all bets are off ...
           */
           * version. If Privoxy is linked against a newer
           * PCRE version all bets are off ...
           */
-         default:  return "Unknown error. Privoxy out of sync with PCRE?";
+         default:
+            snprintf(buf, sizeof(buf),
+               "Error code %d. For details, check the pcre documentation.",
+               error);
+            return buf;
       }
    }
    /* error >= 0: No error */
       }
    }
    /* error >= 0: No error */