[release-0.4] libcallnr: Use int, not int64_t, as the return t… (#11566)

[release-0.4] libcallnr: Use int, not int64_t, as the return type for Vim compat
This commit is contained in:
James McCoy 2019-12-16 10:04:51 -05:00 committed by GitHub
commit fafd636267
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 8 deletions

View File

@ -12651,7 +12651,7 @@ static void libcall_common(typval_T *argvars, typval_T *rettv, int out_type)
const char *libname = (char *) argvars[0].vval.v_string; const char *libname = (char *) argvars[0].vval.v_string;
const char *funcname = (char *) argvars[1].vval.v_string; const char *funcname = (char *) argvars[1].vval.v_string;
int in_type = argvars[2].v_type; VarType in_type = argvars[2].v_type;
// input variables // input variables
char *str_in = (in_type == VAR_STRING) char *str_in = (in_type == VAR_STRING)
@ -12660,8 +12660,8 @@ static void libcall_common(typval_T *argvars, typval_T *rettv, int out_type)
// output variables // output variables
char **str_out = (out_type == VAR_STRING) char **str_out = (out_type == VAR_STRING)
? (char **) &rettv->vval.v_string : NULL; ? (char **)&rettv->vval.v_string : NULL;
int64_t int_out = 0; int int_out = 0;
bool success = os_libcall(libname, funcname, bool success = os_libcall(libname, funcname,
str_in, int_in, str_in, int_in,
@ -12673,7 +12673,7 @@ static void libcall_common(typval_T *argvars, typval_T *rettv, int out_type)
} }
if (out_type == VAR_NUMBER) { if (out_type == VAR_NUMBER) {
rettv->vval.v_number = (int) int_out; rettv->vval.v_number = (varnumber_T)int_out;
} }
} }

View File

@ -19,15 +19,15 @@
/// string -> int /// string -> int
typedef void (*gen_fn)(void); typedef void (*gen_fn)(void);
typedef const char *(*str_str_fn)(const char *str); typedef const char *(*str_str_fn)(const char *str);
typedef int64_t (*str_int_fn)(const char *str); typedef int (*str_int_fn)(const char *str);
typedef const char *(*int_str_fn)(int64_t i); typedef const char *(*int_str_fn)(int64_t i);
typedef int64_t (*int_int_fn)(int64_t i); typedef int (*int_int_fn)(int64_t i);
/// os_libcall - call a function in a dynamic loadable library /// os_libcall - call a function in a dynamic loadable library
/// ///
/// an example of calling a function that takes a string and returns an int: /// an example of calling a function that takes a string and returns an int:
/// ///
/// int64_t int_out = 0; /// int int_out = 0;
/// os_libcall("mylib.so", "somefn", "string-argument", 0, NULL, &int_out); /// os_libcall("mylib.so", "somefn", "string-argument", 0, NULL, &int_out);
/// ///
/// @param libname the name of the library to load (e.g.: libsomething.so) /// @param libname the name of the library to load (e.g.: libsomething.so)
@ -43,7 +43,7 @@ bool os_libcall(const char *libname,
const char *argv, const char *argv,
int64_t argi, int64_t argi,
char **str_out, char **str_out,
int64_t *int_out) int *int_out)
{ {
if (!libname || !funcname) { if (!libname || !funcname) {
return false; return false;