]> granicus.if.org Git - vim/commitdiff
patch 8.2.2923: EBCDIC build is broken v8.2.2923
authorK.Takata <kentkt@csc.jp>
Wed, 2 Jun 2021 12:56:39 +0000 (14:56 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 2 Jun 2021 12:56:39 +0000 (14:56 +0200)
Problem:    EBCDIC build is broken.
Solution:   Move sortFunctions() to evalfunc.c. (Ken Takata, closes #8306)

src/eval.c
src/evalfunc.c
src/proto/evalfunc.pro
src/version.c

index 1ee4a3dbcda94af4a702fadb173e09624a7649af..e39c604ad27e88b319dc96266422f57193247c6d 100644 (file)
@@ -104,33 +104,6 @@ num_modulus(varnumber_T n1, varnumber_T n2, int *failed)
     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.
  */
index fcb64f67ac5777928f3546f57d6151da3e4460d6..8ea48f9bd564134cfe000aff66463ad079aeafea 100644 (file)
@@ -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.
index 2b194486f69558a403df0136c2719feb7af8fecd..c1ac55f5b9fd3e98b982da5993247a0fa992b291 100644 (file)
@@ -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 : */
index 812731417a139f943fed6ce16fa101eb66221e82..ee1dfa7191a1b2e22f92164bc9fdd5e2446b53ee 100644 (file)
@@ -750,6 +750,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2923,
 /**/
     2922,
 /**/