file_pat_to_reg_pat, buflist_findpat: const params

file_pat_to_reg_pat() and buflist_findpat() do not modify the data of
these parameters.
This commit is contained in:
Justin M. Keyes
2015-12-26 20:12:24 -05:00
parent 76bf21de26
commit 3fd62f9612
3 changed files with 41 additions and 46 deletions

View File

@@ -918,13 +918,15 @@ do_buffer (
if (buf == NULL) { /* could not find it */
if (start == DOBUF_FIRST) {
/* don't warn when deleting */
if (!unload)
// don't warn when deleting
if (!unload) {
EMSGN(_(e_nobufnr), count);
} else if (dir == FORWARD)
}
} else if (dir == FORWARD) {
EMSG(_("E87: Cannot go beyond last buffer"));
else
} else {
EMSG(_("E88: Cannot go before first buffer"));
}
return FAIL;
}
@@ -1711,18 +1713,15 @@ static buf_T *buflist_findname_file_id(char_u *ffname, FileID *file_id,
return NULL;
}
/*
* Find file in buffer list by a regexp pattern.
* Return fnum of the found buffer.
* Return < 0 for error.
*/
int
buflist_findpat (
char_u *pattern,
char_u *pattern_end, /* pointer to first char after pattern */
int unlisted, /* find unlisted buffers */
int diffmode, /* find diff-mode buffers only */
int curtab_only /* find buffers in current tab only */
/// Find file in buffer list by a regexp pattern.
/// Return fnum of the found buffer.
/// Return < 0 for error.
int buflist_findpat(
const char_u *pattern,
const char_u *pattern_end, // pointer to first char after pattern
int unlisted, // find unlisted buffers
int diffmode, // find diff-mode buffers only
int curtab_only // find buffers in current tab only
)
{
int match = -1;

View File

@@ -7096,26 +7096,23 @@ int match_file_list(char_u *list, char_u *sfname, char_u *ffname)
return FALSE;
}
/*
* Convert the given pattern "pat" which has shell style wildcards in it, into
* a regular expression, and return the result in allocated memory. If there
* is a directory path separator to be matched, then TRUE is put in
* allow_dirs, otherwise FALSE is put there -- webb.
* Handle backslashes before special characters, like "\*" and "\ ".
*
* Returns NULL on failure.
*/
char_u *
file_pat_to_reg_pat (
char_u *pat,
char_u *pat_end, /* first char after pattern or NULL */
char *allow_dirs, /* Result passed back out in here */
int no_bslash /* Don't use a backward slash as pathsep */
/// Convert the given pattern "pat" which has shell style wildcards in it, into
/// a regular expression, and return the result in allocated memory. If there
/// is a directory path separator to be matched, then TRUE is put in
/// allow_dirs, otherwise FALSE is put there -- webb.
/// Handle backslashes before special characters, like "\*" and "\ ".
///
/// Returns NULL on failure.
char_u * file_pat_to_reg_pat(
const char_u *pat,
const char_u *pat_end, // first char after pattern or NULL
char *allow_dirs, // Result passed back out in here
int no_bslash // Don't use a backward slash as pathsep
)
{
char_u *endp;
const char_u *endp;
char_u *reg_pat;
char_u *p;
const char_u *p;
int nested = 0;
int add_dollar = TRUE;

View File

@@ -703,18 +703,16 @@ char_u *get_expr_line_src(void)
/// @param writing allow only writable registers
bool valid_yank_reg(int regname, bool writing)
{
if ( (regname > 0 && ASCII_ISALNUM(regname))
|| (!writing && vim_strchr((char_u *)
"/.%:="
, regname) != NULL)
if ((regname > 0 && ASCII_ISALNUM(regname))
|| (!writing && vim_strchr((char_u *) "/.%:=" , regname) != NULL)
|| regname == '#'
|| regname == '"'
|| regname == '-'
|| regname == '_'
|| regname == '*'
|| regname == '+'
)
|| regname == '+') {
return true;
}
return false;
}
@@ -4666,8 +4664,9 @@ void write_reg_contents_ex(int name,
int num = atoi((char *)str);
buf = buflist_findnr(num);
if (buf == NULL)
if (buf == NULL) {
EMSGN(_(e_nobufnr), (long)num);
}
} else {
buf = buflist_findnr(buflist_findpat(str, str + STRLEN(str),
true, false, false));