To: vim-dev@vim.org
Subject: Patch 7.2.178
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.178
Problem: Using negative value for device number might not work.
Solution: Use a separate flag for whether ffv_dev was set.
Files: src/misc2.c
*** ../vim-7.2.177/src/misc2.c 2009-04-29 11:00:09.000000000 +0200
--- src/misc2.c 2009-05-16 21:05:10.000000000 +0200
***************
*** 2841,2847 ****
get_key_name(i)
int i;
{
! if (i >= KEY_NAMES_TABLE_LEN)
return NULL;
return key_names_table[i].name;
}
--- 2841,2847 ----
get_key_name(i)
int i;
{
! if (i >= (int)KEY_NAMES_TABLE_LEN)
return NULL;
return key_names_table[i].name;
}
***************
*** 3869,3875 ****
* use filename.
*/
#ifdef UNIX
! int ffv_dev; /* device number (-1 if not set) */
ino_t ffv_ino; /* inode number */
#endif
/* The memory for this struct is allocated according to the length of
--- 3869,3876 ----
* use filename.
*/
#ifdef UNIX
! int ffv_dev_valid; /* ffv_dev and ffv_ino were set */
! dev_t ffv_dev; /* device number */
ino_t ffv_ino; /* inode number */
#endif
/* The memory for this struct is allocated according to the length of
***************
*** 4059,4071 ****
* This function silently ignores a few errors, vim_findfile() will have
* limited functionality then.
*/
- /*ARGSUSED*/
void *
vim_findfile_init(path, filename, stopdirs, level, free_visited, find_what,
search_ctx_arg, tagfile, rel_fname)
char_u *path;
char_u *filename;
! char_u *stopdirs;
int level;
int free_visited;
int find_what;
--- 4060,4071 ----
* This function silently ignores a few errors, vim_findfile() will have
* limited functionality then.
*/
void *
vim_findfile_init(path, filename, stopdirs, level, free_visited, find_what,
search_ctx_arg, tagfile, rel_fname)
char_u *path;
char_u *filename;
! char_u *stopdirs UNUSED;
int level;
int free_visited;
int find_what;
***************
*** 5063,5072 ****
{
if (
#ifdef UNIX
! !url
! ? (vp->ffv_dev == st.st_dev
! && vp->ffv_ino == st.st_ino)
! :
#endif
fnamecmp(vp->ffv_fname, ff_expand_buffer) == 0
)
--- 5063,5071 ----
{
if (
#ifdef UNIX
! !url ? (vp->ffv_dev_valid && vp->ffv_dev == st.st_dev
! && vp->ffv_ino == st.st_ino)
! :
#endif
fnamecmp(vp->ffv_fname, ff_expand_buffer) == 0
)
***************
*** 5091,5104 ****
#ifdef UNIX
if (!url)
{
vp->ffv_ino = st.st_ino;
vp->ffv_dev = st.st_dev;
vp->ffv_fname[0] = NUL;
}
else
{
! vp->ffv_ino = 0;
! vp->ffv_dev = -1;
#endif
STRCPY(vp->ffv_fname, ff_expand_buffer);
#ifdef UNIX
--- 5090,5103 ----
#ifdef UNIX
if (!url)
{
+ vp->ffv_dev_valid = TRUE;
vp->ffv_ino = st.st_ino;
vp->ffv_dev = st.st_dev;
vp->ffv_fname[0] = NUL;
}
else
{
! vp->ffv_dev_valid = FALSE;
#endif
STRCPY(vp->ffv_fname, ff_expand_buffer);
#ifdef UNIX
*** ../vim-7.2.177/src/version.c 2009-05-16 17:29:37.000000000 +0200
--- src/version.c 2009-05-16 21:00:15.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 178,
/**/
--
FATAL ERROR! SYSTEM HALTED! - Press any key to continue doing nothing.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///