mirror of
https://github.com/vim/vim
synced 2025-07-16 09:12:00 +00:00
patch 9.1.0560: bindtextdomain() does not indicate an error
Problem: bindtextdomain() does not indicate an error (after v9.1.509) Solution: return false on failure (OOM). (Chris van Willegen) closes: #15116 Signed-off-by: Christ van Willegen <cvwillegen@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
965091001f
commit
8252ef134f
@ -1827,7 +1827,7 @@ static funcentry_T global_functions[] =
|
||||
#endif
|
||||
},
|
||||
{"bindtextdomain", 2, 2, 0, arg2_string,
|
||||
ret_void, f_bindtextdomain},
|
||||
ret_bool, f_bindtextdomain},
|
||||
{"blob2list", 1, 1, FEARG_1, arg1_blob,
|
||||
ret_list_number, f_blob2list},
|
||||
{"browse", 4, 4, 0, arg4_browse,
|
||||
@ -3486,8 +3486,11 @@ get_buf_arg(typval_T *arg)
|
||||
* "bindtextdomain(package, path)" function
|
||||
*/
|
||||
static void
|
||||
f_bindtextdomain(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
|
||||
f_bindtextdomain(typval_T *argvars, typval_T *rettv)
|
||||
{
|
||||
rettv->v_type = VAR_BOOL;
|
||||
rettv->vval.v_number = VVAL_TRUE;
|
||||
|
||||
if (check_for_nonempty_string_arg(argvars, 0) == FAIL
|
||||
|| check_for_nonempty_string_arg(argvars, 1) == FAIL)
|
||||
return;
|
||||
@ -3495,7 +3498,13 @@ f_bindtextdomain(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
|
||||
if (strcmp((const char *)argvars[0].vval.v_string, VIMPACKAGE) == 0)
|
||||
semsg(_(e_invalid_argument_str), tv_get_string(&argvars[0]));
|
||||
else
|
||||
bindtextdomain((const char *)argvars[0].vval.v_string, (const char *)argvars[1].vval.v_string);
|
||||
{
|
||||
if (bindtextdomain((const char *)argvars[0].vval.v_string, (const char *)argvars[1].vval.v_string) == NULL)
|
||||
{
|
||||
do_outofmem_msg((long)0);
|
||||
rettv->vval.v_number = VVAL_FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
Reference in New Issue
Block a user