changeset 24770:e75971b83263 v8.2.2923

patch 8.2.2923: EBCDIC build is broken Commit: https://github.com/vim/vim/commit/eecf2b35a146d7d5512f2525ad631d796e19edac Author: K.Takata <kentkt@csc.jp> Date: Wed Jun 2 14:56:39 2021 +0200 patch 8.2.2923: EBCDIC build is broken Problem: EBCDIC build is broken. Solution: Move sortFunctions() to evalfunc.c. (Ken Takata, closes https://github.com/vim/vim/issues/8306)
author Bram Moolenaar <Bram@vim.org>
date Wed, 02 Jun 2021 15:00:03 +0200
parents b373619355a3
children 77a262c61a3b
files src/eval.c src/evalfunc.c src/proto/evalfunc.pro src/version.c
diffstat 4 files changed, 30 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/src/eval.c
+++ b/src/eval.c
@@ -104,33 +104,6 @@ num_modulus(varnumber_T n1, varnumber_T 
     return (n2 == 0) ? 0 : (n1 % n2);
 }
 
-#if defined(EBCDIC) || defined(PROTO)
-/*
- * Compare struct fst by function name.
- */
-    static int
-compare_func_name(const void *s1, const void *s2)
-{
-    struct fst *p1 = (struct fst *)s1;
-    struct fst *p2 = (struct fst *)s2;
-
-    return STRCMP(p1->f_name, p2->f_name);
-}
-
-/*
- * Sort the function table by function name.
- * The sorting of the table above is ASCII dependent.
- * On machines using EBCDIC we have to sort it.
- */
-    static void
-sortFunctions(void)
-{
-    int		funcCnt = (int)ARRAY_LENGTH(functions) - 1;
-
-    qsort(functions, (size_t)funcCnt, sizeof(struct fst), compare_func_name);
-}
-#endif
-
 /*
  * Initialize the global and v: variables.
  */
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -1855,6 +1855,33 @@ static funcentry_T global_functions[] =
 			ret_number,	    f_xor},
 };
 
+#if defined(EBCDIC) || defined(PROTO)
+/*
+ * Compare funcentry_T by function name.
+ */
+    static int
+compare_func_name(const void *s1, const void *s2)
+{
+    funcentry_T *p1 = (funcentry_T *)s1;
+    funcentry_T *p2 = (funcentry_T *)s2;
+
+    return STRCMP(p1->f_name, p2->f_name);
+}
+
+/*
+ * Sort the function table by function name.
+ * The sorting of the table above is ASCII dependent.
+ * On machines using EBCDIC we have to sort it.
+ */
+    void
+sortFunctions(void)
+{
+    size_t	funcCnt = ARRAY_LENGTH(global_functions);
+
+    qsort(global_functions, funcCnt, sizeof(funcentry_T), compare_func_name);
+}
+#endif
+
 /*
  * Function given to ExpandGeneric() to obtain the list of internal
  * or user defined function names.
--- a/src/proto/evalfunc.pro
+++ b/src/proto/evalfunc.pro
@@ -1,4 +1,5 @@
 /* evalfunc.c */
+void sortFunctions(void);
 char_u *get_function_name(expand_T *xp, int idx);
 char_u *get_expr_name(expand_T *xp, int idx);
 int find_internal_func(char_u *name);
@@ -23,5 +24,4 @@ void range_list_materialize(list_T *list
 float_T vim_round(float_T f);
 long do_searchpair(char_u *spat, char_u *mpat, char_u *epat, int dir, typval_T *skip, int flags, pos_T *match_pos, linenr_T lnum_stop, long time_limit);
 void f_string(typval_T *argvars, typval_T *rettv);
-void f_fullcommand(typval_T *argvars, typval_T *rettv);
 /* vim: set ft=c : */
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2923,
+/**/
     2922,
 /**/
     2921,