[gnumeric] GnmFunc: patch up things to please the test suite.
- From: Morten Welinder <mortenw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnumeric] GnmFunc: patch up things to please the test suite.
- Date: Sat, 26 May 2018 03:05:39 +0000 (UTC)
commit f37350df1270f71e1c07b0b521d3648423d40c01
Author: Morten Welinder <terra gnome org>
Date: Fri May 25 23:04:32 2018 -0400
GnmFunc: patch up things to please the test suite.
(I.e., things didn't work and crashes left and right. That sort of thing.)
src/func.c | 22 +++++++++++-----------
src/sstest.c | 4 ++--
2 files changed, 13 insertions(+), 13 deletions(-)
---
diff --git a/src/func.c b/src/func.c
index 4d2dd1122..b5382bba4 100644
--- a/src/func.c
+++ b/src/func.c
@@ -304,14 +304,14 @@ gnm_func_create_arg_names (GnmFunc *func)
gboolean
gnm_func_is_varargs (GnmFunc *func)
{
- gnm_func_load_stub (func);
+ gnm_func_load_if_stub (func);
return func->fn_type == GNM_FUNC_TYPE_NODES;
}
gboolean
gnm_func_is_fixargs (GnmFunc *func)
{
- gnm_func_load_stub (func);
+ gnm_func_load_if_stub (func);
return func->fn_type == GNM_FUNC_TYPE_ARGS;
}
@@ -326,12 +326,6 @@ gnm_func_set_stub (GnmFunc *func)
g_free (func->arg_types);
func->arg_types = NULL;
- if (func->arg_names) {
- g_ptr_array_foreach (func->arg_names, (GFunc)g_free, NULL);
- g_ptr_array_free (func->arg_names, TRUE);
- func->arg_names = NULL;
- }
-
func->min_args = func->max_args = 0;
func->nodes_func = NULL;
@@ -395,10 +389,8 @@ gnm_func_set_fixargs (GnmFunc *func, GnmFuncArgs fn, const char *spec)
func->min_args = p - func->arg_types;
memmove (p, p + 1, strlen (p));
} else
- func->min_args = 0;
+ func->min_args = strlen (func->arg_types);
func->max_args = strlen (func->arg_types);
-
- gnm_func_create_arg_names (func);
}
/**
@@ -440,6 +432,12 @@ gnm_func_set_help (GnmFunc *func, GnmFuncHelp const *help, int n)
func->help = NULL;
}
+ if (func->arg_names) {
+ g_ptr_array_foreach (func->arg_names, (GFunc)g_free, NULL);
+ g_ptr_array_free (func->arg_names, TRUE);
+ func->arg_names = NULL;
+ }
+
if (help) {
int i;
@@ -450,6 +448,8 @@ gnm_func_set_help (GnmFunc *func, GnmFuncHelp const *help, int n)
}
func->help[n].type = GNM_FUNC_HELP_END;
func->help[n].text = NULL;
+
+ gnm_func_create_arg_names (func);
}
func->help_count = n;
diff --git a/src/sstest.c b/src/sstest.c
index dedfbb5e5..3b2d7b796 100644
--- a/src/sstest.c
+++ b/src/sstest.c
@@ -1039,8 +1039,8 @@ gnm_func_sanity_check1 (GnmFunc *fd)
res = 1;
}
if (check_argument_refs (aend + 1, fd)) {
- g_printerr ("%s: Invalid argument reference in argument\n",
- fd->name);
+ g_printerr ("%s: Invalid argument reference, %s, in argument\n",
+ aend + 1, fd->name);
res = 1;
}
argname = g_strndup (h->text, aend - h->text);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]