regex: Add new error code alias

G_REGEX_ERROR_VERB_UNKNOWN_OR_MALFORMED has the same value as
G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB but is more correct,
since the same error code is now also used when the argument for
"(*VERB=arg)" is malformed. Since PCRE 8.33.
This commit is contained in:
Christian Persch
2014-11-22 21:54:17 +01:00
parent 1e9deb5be2
commit cbf736b64c
3 changed files with 5 additions and 1 deletions

View File

@@ -482,7 +482,7 @@ translate_compile_error (gint *errcode, const gchar **errmsg)
*errmsg = _("an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT)"); *errmsg = _("an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT)");
break; break;
case G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB: case G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB:
*errmsg = _("(*VERB) not recognized"); *errmsg = _("(*VERB) not recognized or malformed");
break; break;
case G_REGEX_ERROR_NUMBER_TOO_BIG: case G_REGEX_ERROR_NUMBER_TOO_BIG:
*errmsg = _("number is too big"); *errmsg = _("number is too big");

View File

@@ -136,6 +136,8 @@ G_BEGIN_DECLS
* @G_REGEX_ERROR_RAW_LOCK: switching to UTF-8 mode from the pattern is disallowed. * @G_REGEX_ERROR_RAW_LOCK: switching to UTF-8 mode from the pattern is disallowed.
* This happens when using %G_REGEX_RAW_LOCK and the pattern contains "(*UTF)" * This happens when using %G_REGEX_RAW_LOCK and the pattern contains "(*UTF)"
* or "(*UTF8)". Since: 2.44 * or "(*UTF8)". Since: 2.44
* @G_REGEX_ERROR_VERB_UNKNOWN_OR_MALFORMED: unknown or malformed backtracing
* control verb. Same as %G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB. Since: 2.44
* *
* Error codes returned by regular expressions functions. * Error codes returned by regular expressions functions.
* *
@@ -190,6 +192,7 @@ typedef enum
G_REGEX_ERROR_INVALID_RELATIVE_REFERENCE = 158, G_REGEX_ERROR_INVALID_RELATIVE_REFERENCE = 158,
G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN = 159, G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN = 159,
G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB = 160, G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB = 160,
G_REGEX_ERROR_VERB_UNKNOWN_OR_MALFORMED = G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB,
G_REGEX_ERROR_NUMBER_TOO_BIG = 161, G_REGEX_ERROR_NUMBER_TOO_BIG = 161,
G_REGEX_ERROR_MISSING_SUBPATTERN_NAME = 162, G_REGEX_ERROR_MISSING_SUBPATTERN_NAME = 162,
G_REGEX_ERROR_MISSING_DIGIT = 163, G_REGEX_ERROR_MISSING_DIGIT = 163,

View File

@@ -2280,6 +2280,7 @@ main (int argc, char *argv[])
TEST_NEW_FAIL ("(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEFG)XX", 0, G_REGEX_ERROR_NAME_TOO_LONG); TEST_NEW_FAIL ("(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEFG)XX", 0, G_REGEX_ERROR_NAME_TOO_LONG);
TEST_NEW_FAIL ("\\u0100", G_REGEX_RAW | G_REGEX_JAVASCRIPT_COMPAT, G_REGEX_ERROR_CHARACTER_VALUE_TOO_LARGE); TEST_NEW_FAIL ("\\u0100", G_REGEX_RAW | G_REGEX_JAVASCRIPT_COMPAT, G_REGEX_ERROR_CHARACTER_VALUE_TOO_LARGE);
TEST_NEW_FAIL ("(*UTF)", G_REGEX_RAW | G_REGEX_RAW_LOCK, G_REGEX_ERROR_RAW_LOCK); TEST_NEW_FAIL ("(*UTF)", G_REGEX_RAW | G_REGEX_RAW_LOCK, G_REGEX_ERROR_RAW_LOCK);
TEST_NEW_FAIL ("(*LIMIT_MATCH=abc)", 0, G_REGEX_ERROR_VERB_UNKNOWN_OR_MALFORMED);
/* These errors can't really be tested sanely: /* These errors can't really be tested sanely:
* G_REGEX_ERROR_EXPRESSION_TOO_LARGE * G_REGEX_ERROR_EXPRESSION_TOO_LARGE