aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim J. Robbins <tjr@FreeBSD.org>2004-07-12 06:07:26 +0000
committerTim J. Robbins <tjr@FreeBSD.org>2004-07-12 06:07:26 +0000
commit67aff1896cd6307b97a6625737bde874de2df778 (patch)
tree4c57e10772c5dc370c73b755520de78894fdc57b
parentfbc3247d816a6c4c77324fdbd4e9188abc46aabe (diff)
downloadsrc-67aff1896cd6307b97a6625737bde874de2df778.tar.gz
src-67aff1896cd6307b97a6625737bde874de2df778.zip
Add a new error code, REG_ILLSEQ, to indicate that a regular expression
contains an illegal multibyte character sequence.
Notes
Notes: svn path=/head/; revision=132017
-rw-r--r--include/regex.h1
-rw-r--r--lib/libc/regex/regerror.c2
-rw-r--r--lib/libc/regex/regex.34
3 files changed, 6 insertions, 1 deletions
diff --git a/include/regex.h b/include/regex.h
index b4e01325acdc..3c3c87fde57b 100644
--- a/include/regex.h
+++ b/include/regex.h
@@ -92,6 +92,7 @@ typedef struct {
#define REG_EMPTY 14
#define REG_ASSERT 15
#define REG_INVARG 16
+#define REG_ILLSEQ 17
#define REG_ATOI 255 /* convert name to number (!) */
#define REG_ITOA 0400 /* convert number to name (!) */
diff --git a/lib/libc/regex/regerror.c b/lib/libc/regex/regerror.c
index 98882024adca..7942ef706940 100644
--- a/lib/libc/regex/regerror.c
+++ b/lib/libc/regex/regerror.c
@@ -81,6 +81,7 @@ static char *regatoi(const regex_t *preg, char *localbuf);
= #define REG_EMPTY 14
= #define REG_ASSERT 15
= #define REG_INVARG 16
+ = #define REG_ILLSEQ 17
= #define REG_ATOI 255 // convert name to number (!)
= #define REG_ITOA 0400 // convert number to name (!)
*/
@@ -105,6 +106,7 @@ static struct rerr {
{REG_EMPTY, "REG_EMPTY", "empty (sub)expression"},
{REG_ASSERT, "REG_ASSERT", "\"can't happen\" -- you found a bug"},
{REG_INVARG, "REG_INVARG", "invalid argument to regex routine"},
+ {REG_ILLSEQ, "REG_ILLSEQ", "illegal byte sequence"},
{0, "", "*** unknown regexp error code ***"}
};
diff --git a/lib/libc/regex/regex.3 b/lib/libc/regex/regex.3
index d0a98376ec19..11b29a4d8212 100644
--- a/lib/libc/regex/regex.3
+++ b/lib/libc/regex/regex.3
@@ -36,7 +36,7 @@
.\" @(#)regex.3 8.4 (Berkeley) 3/20/94
.\" $FreeBSD$
.\"
-.Dd July 6, 2004
+.Dd July 12, 2004
.Dt REGEX 3
.Os
.Sh NAME
@@ -652,6 +652,8 @@ empty (sub)expression
can't happen - you found a bug
.It Dv REG_INVARG
invalid argument, e.g.\& negative-length string
+.It Dv REG_ILLSEQ
+illegal byte sequence (bad multibyte character)
.El
.Sh HISTORY
Originally written by