diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-01-12 20:06:33 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-01-12 20:06:33 +0100 |
commit | a1fa8929395351f03c56f50ca6e891d825123c0f (patch) | |
tree | 8c3b65a6534d242e13ff9d12316960cccc82acd8 /src | |
parent | 1d669c233c97486555a34f7d3f069068d9ebdb63 (diff) | |
download | vim-git-a1fa8929395351f03c56f50ca6e891d825123c0f.tar.gz |
patch 8.0.0173: build fails with EBCDIC definedv8.0.0173
Problem: When compiling with EBCDIC defined the build fails. (Yaroslav
Kuzmin)
Solution: Move sortFunctions() to the right file. Avoid warning for
redefining __SUSV3.
Diffstat (limited to 'src')
-rw-r--r-- | src/eval.c | 34 | ||||
-rw-r--r-- | src/evalfunc.c | 28 | ||||
-rw-r--r-- | src/os_unixx.h | 2 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 32 insertions, 34 deletions
diff --git a/src/eval.c b/src/eval.c index 11fc035fb..5bed90b3b 100644 --- a/src/eval.c +++ b/src/eval.c @@ -242,14 +242,38 @@ static void list_one_var(dictitem_T *v, char_u *prefix, int *first); static void list_one_var_a(char_u *prefix, char_u *name, int type, char_u *string, int *first); static char_u *find_option_end(char_u **arg, int *opt_flags); -#ifdef EBCDIC -static int compare_func_name(const void *s1, const void *s2); -static void sortFunctions(); -#endif - /* for VIM_VERSION_ defines */ #include "version.h" + +#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 dependant. + * On machines using EBCDIC we have to sort it. + */ + static void +sortFunctions(void) +{ + int funcCnt = (int)(sizeof(functions) / sizeof(struct fst)) - 1; + + qsort(functions, (size_t)funcCnt, sizeof(struct fst), compare_func_name); +} +#endif + + /* * Initialize the global and v: variables. */ diff --git a/src/evalfunc.c b/src/evalfunc.c index efa07b111..768a0f157 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -923,34 +923,6 @@ get_expr_name(expand_T *xp, int idx) #endif /* FEAT_CMDL_COMPL */ -#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 dependant. - * On machines using EBCDIC we have to sort it. - */ - static void -sortFunctions(void) -{ - int funcCnt = (int)(sizeof(functions) / sizeof(struct fst)) - 1; - - qsort(functions, (size_t)funcCnt, sizeof(struct fst), compare_func_name); -} -#endif - - /* * Find internal function in table above. * Return index, or -1 if not found diff --git a/src/os_unixx.h b/src/os_unixx.h index f1aad2c50..c83ea31e4 100644 --- a/src/os_unixx.h +++ b/src/os_unixx.h @@ -113,7 +113,7 @@ /* shared library access */ #if defined(HAVE_DLFCN_H) && defined(USE_DLOPEN) -# ifdef __MVS__ +# if defined(__MVS__) && !defined (__SUSV3) /* needed to define RTLD_LAZY (Anthony Giorgio) */ # define __SUSV3 # endif diff --git a/src/version.c b/src/version.c index a6bbf1b13..638e350dc 100644 --- a/src/version.c +++ b/src/version.c @@ -765,6 +765,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 173, +/**/ 172, /**/ 171, |