summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/guile/weechat-guile-api.c17
-rw-r--r--src/plugins/javascript/weechat-js-api.cpp18
-rw-r--r--src/plugins/lua/weechat-lua-api.c19
-rw-r--r--src/plugins/perl/weechat-perl-api.c19
-rw-r--r--src/plugins/python/weechat-python-api.c18
-rw-r--r--src/plugins/ruby/weechat-ruby-api.c23
-rw-r--r--src/plugins/tcl/weechat-tcl-api.c17
7 files changed, 131 insertions, 0 deletions
diff --git a/src/plugins/guile/weechat-guile-api.c b/src/plugins/guile/weechat-guile-api.c
index 7f5962837..676a85e50 100644
--- a/src/plugins/guile/weechat-guile-api.c
+++ b/src/plugins/guile/weechat-guile-api.c
@@ -4094,6 +4094,22 @@ weechat_guile_api_infolist_new_var_time (SCM item, SCM name, SCM value)
}
SCM
+weechat_guile_api_infolist_search_var (SCM infolist, SCM name)
+{
+ char *result;
+ SCM return_value;
+
+ API_INIT_FUNC(1, "infolist_search_var", API_RETURN_EMPTY);
+ if (!scm_is_string (infolist) || !scm_is_string (name))
+ API_WRONG_ARGS(API_RETURN_EMPTY);
+
+ result = API_PTR2STR(weechat_infolist_search_var (API_STR2PTR(API_SCM_TO_STRING(infolist)),
+ API_SCM_TO_STRING(name)));
+
+ API_RETURN_STRING_FREE(result);
+}
+
+SCM
weechat_guile_api_infolist_get (SCM name, SCM pointer, SCM arguments)
{
char *result;
@@ -4860,6 +4876,7 @@ weechat_guile_api_module_init (void *data)
API_DEF_FUNC(infolist_new_var_string, 3);
API_DEF_FUNC(infolist_new_var_pointer, 3);
API_DEF_FUNC(infolist_new_var_time, 3);
+ API_DEF_FUNC(infolist_search_var, 2);
API_DEF_FUNC(infolist_get, 3);
API_DEF_FUNC(infolist_next, 1);
API_DEF_FUNC(infolist_prev, 1);
diff --git a/src/plugins/javascript/weechat-js-api.cpp b/src/plugins/javascript/weechat-js-api.cpp
index b3c959d5c..a5a07c432 100644
--- a/src/plugins/javascript/weechat-js-api.cpp
+++ b/src/plugins/javascript/weechat-js-api.cpp
@@ -4050,6 +4050,23 @@ API_FUNC(infolist_new_var_time)
API_RETURN_STRING_FREE(result);
}
+API_FUNC(infolist_search_var)
+{
+ char *result;
+
+ API_INIT_FUNC(1, "infolist_search_var", "ss", API_RETURN_EMPTY);
+
+ v8::String::Utf8Value infolist(args[0]);
+ v8::String::Utf8Value name(args[1]);
+
+ result = API_PTR2STR(
+ weechat_infolist_search_var (
+ (struct t_infolist *)API_STR2PTR(*infolist),
+ *name));
+
+ API_RETURN_STRING_FREE(result);
+}
+
API_FUNC(infolist_get)
{
char *result;
@@ -4872,6 +4889,7 @@ WeechatJsV8::loadLibs()
API_DEF_FUNC(infolist_new_var_string);
API_DEF_FUNC(infolist_new_var_pointer);
API_DEF_FUNC(infolist_new_var_time);
+ API_DEF_FUNC(infolist_search_var);
API_DEF_FUNC(infolist_get);
API_DEF_FUNC(infolist_next);
API_DEF_FUNC(infolist_prev);
diff --git a/src/plugins/lua/weechat-lua-api.c b/src/plugins/lua/weechat-lua-api.c
index 55cc1771a..cfbe45f9c 100644
--- a/src/plugins/lua/weechat-lua-api.c
+++ b/src/plugins/lua/weechat-lua-api.c
@@ -4326,6 +4326,24 @@ API_FUNC(infolist_new_var_time)
API_RETURN_STRING_FREE(result);
}
+API_FUNC(infolist_search_var)
+{
+ const char *infolist, *name;
+ char *result;
+
+ API_INIT_FUNC(1, "infolist_search_var", API_RETURN_EMPTY);
+ if (lua_gettop (L) < 2)
+ API_WRONG_ARGS(API_RETURN_EMPTY);
+
+ infolist = lua_tostring (L, -2);
+ name = lua_tostring (L, -1);
+
+ result = API_PTR2STR(weechat_infolist_search_var (API_STR2PTR(infolist),
+ name));
+
+ API_RETURN_STRING_FREE(result);
+}
+
API_FUNC(infolist_get)
{
const char *name, *pointer, *arguments;
@@ -5152,6 +5170,7 @@ const struct luaL_Reg weechat_lua_api_funcs[] = {
API_DEF_FUNC(infolist_new_var_string),
API_DEF_FUNC(infolist_new_var_pointer),
API_DEF_FUNC(infolist_new_var_time),
+ API_DEF_FUNC(infolist_search_var),
API_DEF_FUNC(infolist_get),
API_DEF_FUNC(infolist_next),
API_DEF_FUNC(infolist_prev),
diff --git a/src/plugins/perl/weechat-perl-api.c b/src/plugins/perl/weechat-perl-api.c
index e88d1108a..61631c72b 100644
--- a/src/plugins/perl/weechat-perl-api.c
+++ b/src/plugins/perl/weechat-perl-api.c
@@ -4251,6 +4251,24 @@ API_FUNC(infolist_new_var_time)
API_RETURN_STRING_FREE(result);
}
+API_FUNC(infolist_search_var)
+{
+ char *infolist, *name, *result;
+ dXSARGS;
+
+ API_INIT_FUNC(1, "infolist_search_var", API_RETURN_EMPTY);
+ if (items < 2)
+ API_WRONG_ARGS(API_RETURN_EMPTY);
+
+ infolist = SvPV_nolen (ST (0));
+ name = SvPV_nolen (ST (1));
+
+ result = API_PTR2STR(weechat_infolist_search_var (API_STR2PTR(infolist),
+ name));
+
+ API_RETURN_STRING_FREE(result);
+}
+
API_FUNC(infolist_get)
{
char *result, *name, *pointer, *arguments;
@@ -5096,6 +5114,7 @@ weechat_perl_api_init (pTHX)
API_DEF_FUNC(infolist_new_var_string);
API_DEF_FUNC(infolist_new_var_pointer);
API_DEF_FUNC(infolist_new_var_time);
+ API_DEF_FUNC(infolist_search_var);
API_DEF_FUNC(infolist_get);
API_DEF_FUNC(infolist_next);
API_DEF_FUNC(infolist_prev);
diff --git a/src/plugins/python/weechat-python-api.c b/src/plugins/python/weechat-python-api.c
index 19958e46b..1eca2723a 100644
--- a/src/plugins/python/weechat-python-api.c
+++ b/src/plugins/python/weechat-python-api.c
@@ -4273,6 +4273,23 @@ API_FUNC(infolist_new_var_time)
API_RETURN_STRING_FREE(result);
}
+API_FUNC(infolist_search_var)
+{
+ char *infolist, *name, *result;
+ PyObject *return_value;
+
+ API_INIT_FUNC(1, "infolist_search_var", API_RETURN_EMPTY);
+ infolist = NULL;
+ name = NULL;
+ if (!PyArg_ParseTuple (args, "ss", &infolist, &name))
+ API_WRONG_ARGS(API_RETURN_EMPTY);
+
+ result = API_PTR2STR(weechat_infolist_search_var (API_STR2PTR(infolist),
+ name));
+
+ API_RETURN_STRING_FREE(result);
+}
+
API_FUNC(infolist_get)
{
char *name, *pointer, *arguments, *result;
@@ -5077,6 +5094,7 @@ PyMethodDef weechat_python_funcs[] =
API_DEF_FUNC(infolist_new_var_string),
API_DEF_FUNC(infolist_new_var_pointer),
API_DEF_FUNC(infolist_new_var_time),
+ API_DEF_FUNC(infolist_search_var),
API_DEF_FUNC(infolist_get),
API_DEF_FUNC(infolist_next),
API_DEF_FUNC(infolist_prev),
diff --git a/src/plugins/ruby/weechat-ruby-api.c b/src/plugins/ruby/weechat-ruby-api.c
index 03f9df04f..a8bb43612 100644
--- a/src/plugins/ruby/weechat-ruby-api.c
+++ b/src/plugins/ruby/weechat-ruby-api.c
@@ -5179,6 +5179,28 @@ weechat_ruby_api_infolist_new_var_time (VALUE class, VALUE item,
}
static VALUE
+weechat_ruby_api_infolist_search_var (VALUE class, VALUE infolist, VALUE name)
+{
+ char *c_infolist, *c_name, *result;
+ VALUE return_value;
+
+ API_INIT_FUNC(1, "infolist_search_var", API_RETURN_EMPTY);
+ if (NIL_P (infolist) || NIL_P (name))
+ API_WRONG_ARGS(API_RETURN_EMPTY);
+
+ Check_Type (infolist, T_STRING);
+ Check_Type (name, T_STRING);
+
+ c_infolist = StringValuePtr (infolist);
+ c_name = StringValuePtr (name);
+
+ result = API_PTR2STR(weechat_infolist_search_var (API_STR2PTR(c_infolist),
+ c_name));
+
+ API_RETURN_STRING_FREE(result);
+}
+
+static VALUE
weechat_ruby_api_infolist_get (VALUE class, VALUE name, VALUE pointer,
VALUE arguments)
{
@@ -6218,6 +6240,7 @@ weechat_ruby_api_init (VALUE ruby_mWeechat)
API_DEF_FUNC(infolist_new_var_string, 3);
API_DEF_FUNC(infolist_new_var_pointer, 3);
API_DEF_FUNC(infolist_new_var_time, 3);
+ API_DEF_FUNC(infolist_search_var, 2);
API_DEF_FUNC(infolist_get, 3);
API_DEF_FUNC(infolist_next, 1);
API_DEF_FUNC(infolist_prev, 1);
diff --git a/src/plugins/tcl/weechat-tcl-api.c b/src/plugins/tcl/weechat-tcl-api.c
index 4d1990d8d..d75436878 100644
--- a/src/plugins/tcl/weechat-tcl-api.c
+++ b/src/plugins/tcl/weechat-tcl-api.c
@@ -4589,6 +4589,22 @@ API_FUNC(infolist_new_var_time)
API_RETURN_STRING_FREE(result);
}
+API_FUNC(infolist_search_var)
+{
+ Tcl_Obj *objp;
+ char *result;
+ int i;
+
+ API_INIT_FUNC(1, "infolist_search_var", API_RETURN_EMPTY);
+ if (objc < 3)
+ API_WRONG_ARGS(API_RETURN_EMPTY);
+
+ result = API_PTR2STR(weechat_infolist_search_var (API_STR2PTR(Tcl_GetStringFromObj (objv[1], &i)), /* infolist */
+ Tcl_GetStringFromObj (objv[2], &i))); /* name */
+
+ API_RETURN_STRING_FREE(result);
+}
+
API_FUNC(infolist_get)
{
Tcl_Obj *objp;
@@ -5558,6 +5574,7 @@ void weechat_tcl_api_init (Tcl_Interp *interp)
API_DEF_FUNC(infolist_new_var_string);
API_DEF_FUNC(infolist_new_var_pointer);
API_DEF_FUNC(infolist_new_var_time);
+ API_DEF_FUNC(infolist_search_var);
API_DEF_FUNC(infolist_get);
API_DEF_FUNC(infolist_next);
API_DEF_FUNC(infolist_prev);