The trivial part of 7.4.871

This commit is contained in:
KillTheMule 2016-04-22 20:01:36 +02:00
parent 3d7a6e4d54
commit c107d4a2d6

View File

@ -1926,7 +1926,7 @@ int expand_wildcards_eval(char_u **pat, int *num_file, char_u ***file,
/// If FAIL is returned, *num_file and *file are either
/// unchanged or *num_file is set to 0 and *file is set to
/// NULL or points to "".
int expand_wildcards(int num_pat, char_u **pat, int *num_file, char_u ***file,
int expand_wildcards(int num_pat, char_u **pat, int *num_files, char_u ***files,
int flags)
{
int retval;
@ -1934,7 +1934,7 @@ int expand_wildcards(int num_pat, char_u **pat, int *num_file, char_u ***file,
char_u *p;
int non_suf_match; /* number without matching suffix */
retval = gen_expand_wildcards(num_pat, pat, num_file, file, flags);
retval = gen_expand_wildcards(num_pat, pat, num_files, files, flags);
/* When keeping all matches, return here */
if ((flags & EW_KEEPALL) || retval == FAIL)
@ -1946,17 +1946,17 @@ int expand_wildcards(int num_pat, char_u **pat, int *num_file, char_u ***file,
if (*p_wig) {
char_u *ffname;
/* check all files in (*file)[] */
for (i = 0; i < *num_file; ++i) {
ffname = (char_u *)FullName_save((char *)(*file)[i], FALSE);
/* check all filess in (*files)[] */
for (i = 0; i < *num_files; ++i) {
ffname = (char_u *)FullName_save((char *)(*files)[i], FALSE);
if (ffname == NULL) /* out of memory */
break;
if (match_file_list(p_wig, (*file)[i], ffname)) {
/* remove this matching file from the list */
xfree((*file)[i]);
for (j = i; j + 1 < *num_file; ++j)
(*file)[j] = (*file)[j + 1];
--*num_file;
if (match_file_list(p_wig, (*files)[i], ffname)) {
/* remove this matching files from the list */
xfree((*files)[i]);
for (j = i; j + 1 < *num_files; ++j)
(*files)[j] = (*files)[j + 1];
--*num_files;
--i;
}
xfree(ffname);
@ -1966,26 +1966,26 @@ int expand_wildcards(int num_pat, char_u **pat, int *num_file, char_u ***file,
/*
* Move the names where 'suffixes' match to the end.
*/
if (*num_file > 1) {
if (*num_files > 1) {
non_suf_match = 0;
for (i = 0; i < *num_file; ++i) {
if (!match_suffix((*file)[i])) {
for (i = 0; i < *num_files; ++i) {
if (!match_suffix((*files)[i])) {
/*
* Move the name without matching suffix to the front
* of the list.
*/
p = (*file)[i];
p = (*files)[i];
for (j = i; j > non_suf_match; --j)
(*file)[j] = (*file)[j - 1];
(*file)[non_suf_match++] = p;
(*files)[j] = (*files)[j - 1];
(*files)[non_suf_match++] = p;
}
}
}
// Free empty array of matches
if (*num_file == 0) {
xfree(*file);
*file = NULL;
if (*num_files == 0) {
xfree(*files);
*files = NULL;
}
return retval;