[Tarantool-patches] [PATCH v4 4/6] box/func: export func_split_name helper
Cyrill Gorcunov
gorcunov at gmail.com
Thu Oct 1 16:51:11 MSK 2020
To reuse this functionality in next patch.
Part-of #4642
Signed-off-by: Cyrill Gorcunov <gorcunov at gmail.com>
---
src/box/func.c | 20 +-------------------
src/box/func.h | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+), 19 deletions(-)
diff --git a/src/box/func.c b/src/box/func.c
index 89796310f..ba98f0f9e 100644
--- a/src/box/func.c
+++ b/src/box/func.c
@@ -44,18 +44,6 @@
#include <fcntl.h>
#include <dlfcn.h>
-/**
- * Parsed symbol and package names.
- */
-struct func_name {
- /** Null-terminated symbol name, e.g. "func" for "mod.submod.func" */
- const char *sym;
- /** Package name, e.g. "mod.submod" for "mod.submod.func" */
- const char *package;
- /** A pointer to the last character in ->package + 1 */
- const char *package_end;
-};
-
struct func_c {
/** Function object base class. */
struct func base;
@@ -64,13 +52,7 @@ struct func_c {
struct module_sym mod_sym;
};
-/***
- * Split function name to symbol and package names.
- * For example, str = foo.bar.baz => sym = baz, package = foo.bar
- * @param str function name, e.g. "module.submodule.function".
- * @param[out] name parsed symbol and package names.
- */
-static void
+void
func_split_name(const char *str, struct func_name *name)
{
name->package = str;
diff --git a/src/box/func.h b/src/box/func.h
index 35f4e320c..92caef9cc 100644
--- a/src/box/func.h
+++ b/src/box/func.h
@@ -107,6 +107,27 @@ struct func {
struct access access[BOX_USER_MAX];
};
+/**
+ * Parsed symbol and package names.
+ */
+struct func_name {
+ /** Null-terminated symbol name, e.g. "func" for "mod.submod.func" */
+ const char *sym;
+ /** Package name, e.g. "mod.submod" for "mod.submod.func" */
+ const char *package;
+ /** A pointer to the last character in ->package + 1 */
+ const char *package_end;
+};
+
+/***
+ * Split function name to symbol and package names.
+ * For example, str = foo.bar.baz => sym = baz, package = foo.bar
+ * @param str function name, e.g. "module.submodule.function".
+ * @param[out] name parsed symbol and package names.
+ */
+void
+func_split_name(const char *str, struct func_name *name);
+
/**
* Initialize modules subsystem.
*/
--
2.26.2
More information about the Tarantool-patches
mailing list