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 -- [email protected] -- 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    ///

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui