summaryrefslogtreecommitdiff
path: root/src/oniguruma/lonig.c
diff options
context:
space:
mode:
authorShmuel Zeigerman <solomuz0@gmail.com>2018-07-16 11:22:38 +0300
committerShmuel Zeigerman <solomuz0@gmail.com>2018-07-16 11:22:38 +0300
commit1cdc7f6cb704848bf95837bdab29347ebed925c7 (patch)
tree68b5ebffbaf321d9e94ca851e2ab1fc8afa6ea31 /src/oniguruma/lonig.c
parent6511dc6549a2ee7c2f97636742ee2e01c79e7c09 (diff)
downloadlrexlib-1cdc7f6cb704848bf95837bdab29347ebed925c7.tar.gz
Oniguruma binding: add function internal_test (not to be documented).
Diffstat (limited to 'src/oniguruma/lonig.c')
-rw-r--r--src/oniguruma/lonig.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/oniguruma/lonig.c b/src/oniguruma/lonig.c
index 0af863f..ea7c236 100644
--- a/src/oniguruma/lonig.c
+++ b/src/oniguruma/lonig.c
@@ -319,6 +319,26 @@ static int LOnig_version (lua_State *L) {
return 1;
}
+static int LOnig_internal_test (lua_State *L) {
+ unsigned int i;
+ for (i=1; i<sizeof(Encodings)/sizeof(Encodings[0]); i++) {
+ if (fcmp(&Encodings[i-1], &Encodings[i]) >= 0) {
+ lua_pushboolean(L, 0);
+ lua_pushstring(L, "Array 'Encodings' is not properly sorted.");
+ return 2;
+ }
+ }
+ for (i=1; i<sizeof(Syntaxes)/sizeof(Syntaxes[0]); i++) {
+ if (fcmp(&Syntaxes[i-1], &Syntaxes[i]) >= 0) {
+ lua_pushboolean(L, 0);
+ lua_pushstring(L, "Array 'Syntaxes' is not properly sorted.");
+ return 2;
+ }
+ }
+ lua_pushboolean(L, 1);
+ return 1;
+}
+
static const luaL_Reg r_methods[] = {
{ "exec", algm_exec },
{ "tfind", algm_tfind }, /* old name: match */
@@ -341,6 +361,7 @@ static const luaL_Reg r_functions[] = {
{ "flags", LOnig_get_flags },
{ "version", LOnig_version },
{ "setdefaultsyntax", LOnig_setdefaultsyntax },
+ { "internal_test", LOnig_internal_test },
{ NULL, NULL }
};