]> git.saurik.com Git - wxWidgets.git/blobdiff - src/regex/regerror.c
Added implementations for two cases of wxSystemSettingsNative::GetMetric to
[wxWidgets.git] / src / regex / regerror.c
index aca13aade03913e5c2d2b25dc761cf36d91b7389..4fd08556bafc8b60750d3bc190f54f6d42222e51 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,6 +27,8 @@
  * 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); }
 /*
regerror - the interface to error numbers
* pg_regerror - the interface to error numbers
  */
 /* ARGSUSED */
-size_t                         /* actual space needed (including NUL) */
-regerror(errcode, preg, errbuf, errbuf_size)
-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(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 */
 {
        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 (errcode)
+       {
+               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 */
-               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);
+                       sprintf(convbuf, "%d", r->code);        /* -1 for unknown */
                        msg = convbuf;
-               }
-               break;
+                       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;
        }
 
        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 */
-                       strncpy(errbuf, msg, errbuf_size-1);
-                       errbuf[errbuf_size-1] = '\0';
+               else
+               {                                               /* truncate to fit */
+                       memcpy(errbuf, msg, errbuf_size - 1);  /*RN - was strncpy*/
+                       errbuf[errbuf_size - 1] = '\0';
                }
        }