From df5304b63cb13fff0de92961ba80dea84c5c552c Mon Sep 17 00:00:00 2001 From: tjr Date: Mon, 12 Jul 2004 06:07:26 +0000 Subject: Add a new error code, REG_ILLSEQ, to indicate that a regular expression contains an illegal multibyte character sequence. --- include/regex.h | 1 + lib/libc/regex/regerror.c | 2 ++ lib/libc/regex/regex.3 | 4 +++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/regex.h b/include/regex.h index b4e0132..3c3c87f 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 9888202..7942ef7 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 d0a9837..11b29a4 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 -- cgit v1.1