]> git.saurik.com Git - wxWidgets.git/blobdiff - src/regex/regerror.c
using new API instead of 2.8 compat, fixes #9990
[wxWidgets.git] / src / regex / regerror.c
index 4fd08556bafc8b60750d3bc190f54f6d42222e51..7646ba2fb61d86416f8c2fe510d828330dcade06 100644 (file)
@@ -1,21 +1,21 @@
 /*
  * regerror - error-code expansion
  *
- * Copyright (c) 1998, 1999 Henry Spencer.     All rights reserved.
- *
+ * Copyright (c) 1998, 1999 Henry Spencer.  All rights reserved.
+ * 
  * Development of this software was funded, in part, by Cray Research Inc.,
  * UUNET Communications Services Inc., Sun Microsystems Inc., and Scriptics
  * Corporation, none of whom are responsible for the results.  The author
- * thanks all of them.
- *
+ * thanks all of them. 
+ * 
  * Redistribution and use in source and binary forms -- with or without
  * modification -- are permitted for any purpose, provided that
  * redistributions in source form retain this entire copyright notice and
  * indicate the origin and nature of any modifications.
- *
+ * 
  * I'd appreciate being given credit for this package in the documentation
  * of software which uses it, but that is not a requirement.
- *
+ * 
  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
  * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
@@ -27,8 +27,6 @@
  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $Header: /projects/cvsroot/pgsql-server/src/backend/regex/regerror.c,v 1.26 2003/08/04 00:43:21 momjian Exp $
- *
  */
 
 #include "regguts.h"
 static char unk[] = "*** unknown regex error code 0x%x ***";
 
 /* struct to map among codes, code names, and explanations */
-static struct rerr
-{
+static struct rerr {
        int code;
        char *name;
        char *explain;
-}      rerrs[] =
-
-{
+} rerrs[] = {
        /* the actual table is built from regex.h */
-#include "regerrs.h"
-       {
-               -1, "", "oops"
-       },                                                      /* explanation special-cased in code */
+#      include "regerrs.h"
+       { -1,   "",     "oops" },       /* explanation special-cased in code */
 };
 
-size_t
-regerror(int errcode,          /* error code, or REG_ATOI or REG_ITOA */
-                       const regex_t *preg,    /* associated regex_t (unused at present) */
-                       char *errbuf,           /* result buffer (unless errbuf_size==0) */
-                       size_t errbuf_size) /* available space in errbuf, can be 0 */
-            { return regerror(errcode, preg, errbuf, errbuf_size); }
 /*
* pg_regerror - the interface to error numbers
regerror - the interface to error numbers
  */
 /* ARGSUSED */
-size_t                                                 /* actual space needed (including NUL) */
-wx_regerror(int errcode,               /* error code, or REG_ATOI or REG_ITOA */
-                       const regex_t *preg,    /* associated regex_t (unused at present) */
-                       char *errbuf,           /* result buffer (unless errbuf_size==0) */
-                       size_t errbuf_size) /* available space in errbuf, can be 0 */
+size_t                         /* actual space needed (including NUL) */
+wx_regerror(rxerrcode, preg, errbuf, errbuf_size)
+int rxerrcode;                 /* error code, or REG_ATOI or REG_ITOA */
+CONST regex_t *preg;           /* associated regex_t (unused at present) */
+char *errbuf;                  /* result buffer (unless errbuf_size==0) */
+size_t errbuf_size;            /* available space in errbuf, can be 0 */
 {
        struct rerr *r;
-       char       *msg;
-       char            convbuf[sizeof(unk) + 50];              /* 50 = plenty for int */
-       size_t          len;
-       int                     icode;
+       char *msg;
+       char convbuf[sizeof(unk)+50];   /* 50 = plenty for int */
+       size_t len;
+       int icode;
 
-       switch (errcode)
-       {
-               case REG_ATOI:                  /* convert name to number */
+       switch (rxerrcode) {
+       case REG_ATOI:          /* convert name to number */
                for (r = rerrs; r->code >= 0; r++)
-                               if (strcmp(r->name, errbuf) == 0)
+                       if (strcmp(r->name, errbuf) == 0)
                                break;
-                       sprintf(convbuf, "%d", r->code);        /* -1 for unknown */
+               sprintf(convbuf, "%d", r->code);        /* -1 for unknown */
+               msg = convbuf;
+               break;
+       case REG_ITOA:          /* convert number to name */
+               icode = atoi(errbuf);   /* not our problem if this fails */
+               for (r = rerrs; r->code >= 0; r++)
+                       if (r->code == icode)
+                               break;
+               if (r->code >= 0)
+                       msg = r->name;
+               else {                  /* unknown; tell him the number */
+                       sprintf(convbuf, "REG_%u", (unsigned)icode);
                        msg = convbuf;
-                       break;
-               case REG_ITOA:                  /* convert number to name */
-                       icode = atoi(errbuf);           /* not our problem if this fails */
-                       for (r = rerrs; r->code >= 0; r++)
-                               if (r->code == icode)
-                                       break;
-                       if (r->code >= 0)
-                               msg = r->name;
-                       else
-                       {                                       /* unknown; tell him the number */
-                               sprintf(convbuf, "REG_%u", (unsigned) icode);
-                               msg = convbuf;
-       }
-                       break;
-               default:                                /* a real, normal error code */
-                       for (r = rerrs; r->code >= 0; r++)
-                               if (r->code == errcode)
-                                       break;
-                       if (r->code >= 0)
-                               msg = r->explain;
-                       else
-                       {                                       /* unknown; say so */
-                               sprintf(convbuf, unk, errcode);
-                               msg = convbuf;
-                       }
-                       break;
+               }
+               break;
+       default:                /* a real, normal error code */
+               for (r = rerrs; r->code >= 0; r++)
+                       if (r->code == rxerrcode)
+                               break;
+               if (r->code >= 0)
+                       msg = r->explain;
+               else {                  /* unknown; say so */
+                       sprintf(convbuf, unk, rxerrcode);
+                       msg = convbuf;
+               }
+               break;
        }
 
        len = strlen(msg) + 1;          /* space needed, including NUL */
-       if (errbuf_size > 0)
-       {
+       if (errbuf_size > 0) {
                if (errbuf_size > len)
                        strcpy(errbuf, msg);
-               else
-               {                                               /* truncate to fit */
-                       memcpy(errbuf, msg, errbuf_size - 1);  /*RN - was strncpy*/
-                       errbuf[errbuf_size - 1] = '\0';
+               else {                  /* truncate to fit */
+                       strncpy(errbuf, msg, errbuf_size-1);
+                       errbuf[errbuf_size-1] = '\0';
                }
        }