summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0470
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0470')
-rw-r--r--data/vim/patches/8.1.0470384
1 files changed, 0 insertions, 384 deletions
diff --git a/data/vim/patches/8.1.0470 b/data/vim/patches/8.1.0470
deleted file mode 100644
index d9b7e6305..000000000
--- a/data/vim/patches/8.1.0470
+++ /dev/null
@@ -1,384 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.0470
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 8.1.0470
-Problem: Pointer ownership around fname_expand() is unclear.
-Solution: Allow b_ffname and b_sfname to point to the same allocated memory,
- only free one. Update comments.
-Files: src/buffer.c, src/structs.h, src/fileio.c, src/ex_cmds.c
-
-
-*** ../vim-8.1.0469/src/buffer.c 2018-09-30 21:43:17.175693433 +0200
---- src/buffer.c 2018-10-11 19:00:11.004662173 +0200
-***************
-*** 663,670 ****
- workshop_file_closed_lineno((char *)buf->b_ffname,
- (int)buf->b_last_cursor.lnum);
- #endif
-! vim_free(buf->b_ffname);
-! vim_free(buf->b_sfname);
- if (buf->b_prev == NULL)
- firstbuf = buf->b_next;
- else
---- 663,673 ----
- workshop_file_closed_lineno((char *)buf->b_ffname,
- (int)buf->b_last_cursor.lnum);
- #endif
-! if (buf->b_sfname != buf->b_ffname)
-! VIM_CLEAR(buf->b_sfname);
-! else
-! buf->b_sfname = NULL;
-! VIM_CLEAR(buf->b_ffname);
- if (buf->b_prev == NULL)
- firstbuf = buf->b_next;
- else
-***************
-*** 1877,1887 ****
- */
- buf_T *
- buflist_new(
-! char_u *ffname, /* full path of fname or relative */
-! char_u *sfname, /* short fname or NULL */
-! linenr_T lnum, /* preferred cursor line */
-! int flags) /* BLN_ defines */
- {
- buf_T *buf;
- #ifdef UNIX
- stat_T st;
---- 1880,1892 ----
- */
- buf_T *
- buflist_new(
-! char_u *ffname_arg, // full path of fname or relative
-! char_u *sfname_arg, // short fname or NULL
-! linenr_T lnum, // preferred cursor line
-! int flags) // BLN_ defines
- {
-+ char_u *ffname = ffname_arg;
-+ char_u *sfname = sfname_arg;
- buf_T *buf;
- #ifdef UNIX
- stat_T st;
-***************
-*** 1890,1896 ****
- if (top_file_num == 1)
- hash_init(&buf_hashtab);
-
-! fname_expand(curbuf, &ffname, &sfname); /* will allocate ffname */
-
- /*
- * If file name already exists in the list, update the entry.
---- 1895,1901 ----
- if (top_file_num == 1)
- hash_init(&buf_hashtab);
-
-! fname_expand(curbuf, &ffname, &sfname); // will allocate ffname
-
- /*
- * If file name already exists in the list, update the entry.
-***************
-*** 1997,2004 ****
- if ((ffname != NULL && (buf->b_ffname == NULL || buf->b_sfname == NULL))
- || buf->b_wininfo == NULL)
- {
- VIM_CLEAR(buf->b_ffname);
-- VIM_CLEAR(buf->b_sfname);
- if (buf != curbuf)
- free_buffer(buf);
- return NULL;
---- 2002,2012 ----
- if ((ffname != NULL && (buf->b_ffname == NULL || buf->b_sfname == NULL))
- || buf->b_wininfo == NULL)
- {
-+ if (buf->b_sfname != buf->b_ffname)
-+ VIM_CLEAR(buf->b_sfname);
-+ else
-+ buf->b_sfname = NULL;
- VIM_CLEAR(buf->b_ffname);
- if (buf != curbuf)
- free_buffer(buf);
- return NULL;
-***************
-*** 3103,3109 ****
- }
-
- /*
-! * Set the file name for "buf"' to 'ffname', short file name to 'sfname'.
- * The file name with the full path is also remembered, for when :cd is used.
- * Returns FAIL for failure (file name already in use by other buffer)
- * OK otherwise.
---- 3111,3118 ----
- }
-
- /*
-! * Set the file name for "buf"' to "ffname_arg", short file name to
-! * "sfname_arg".
- * The file name with the full path is also remembered, for when :cd is used.
- * Returns FAIL for failure (file name already in use by other buffer)
- * OK otherwise.
-***************
-*** 3111,3120 ****
- int
- setfname(
- buf_T *buf,
-! char_u *ffname,
-! char_u *sfname,
- int message) /* give message when buffer already exists */
- {
- buf_T *obuf = NULL;
- #ifdef UNIX
- stat_T st;
---- 3120,3131 ----
- int
- setfname(
- buf_T *buf,
-! char_u *ffname_arg,
-! char_u *sfname_arg,
- int message) /* give message when buffer already exists */
- {
-+ char_u *ffname = ffname_arg;
-+ char_u *sfname = sfname_arg;
- buf_T *obuf = NULL;
- #ifdef UNIX
- stat_T st;
-***************
-*** 3123,3130 ****
- if (ffname == NULL || *ffname == NUL)
- {
- /* Removing the name. */
- VIM_CLEAR(buf->b_ffname);
-- VIM_CLEAR(buf->b_sfname);
- #ifdef UNIX
- st.st_dev = (dev_T)-1;
- #endif
---- 3134,3144 ----
- if (ffname == NULL || *ffname == NUL)
- {
- /* Removing the name. */
-+ if (buf->b_sfname != buf->b_ffname)
-+ VIM_CLEAR(buf->b_sfname);
-+ else
-+ buf->b_sfname = NULL;
- VIM_CLEAR(buf->b_ffname);
- #ifdef UNIX
- st.st_dev = (dev_T)-1;
- #endif
-***************
-*** 3175,3182 ****
- # endif
- fname_case(sfname, 0); /* set correct case for short file name */
- #endif
- vim_free(buf->b_ffname);
-- vim_free(buf->b_sfname);
- buf->b_ffname = ffname;
- buf->b_sfname = sfname;
- }
---- 3189,3197 ----
- # endif
- fname_case(sfname, 0); /* set correct case for short file name */
- #endif
-+ if (buf->b_sfname != buf->b_ffname)
-+ vim_free(buf->b_sfname);
- vim_free(buf->b_ffname);
- buf->b_ffname = ffname;
- buf->b_sfname = sfname;
- }
-***************
-*** 3210,3216 ****
- buf = buflist_findnr(fnum);
- if (buf != NULL)
- {
-! vim_free(buf->b_sfname);
- vim_free(buf->b_ffname);
- buf->b_ffname = vim_strsave(name);
- buf->b_sfname = NULL;
---- 3225,3232 ----
- buf = buflist_findnr(fnum);
- if (buf != NULL)
- {
-! if (buf->b_sfname != buf->b_ffname)
-! vim_free(buf->b_sfname);
- vim_free(buf->b_ffname);
- buf->b_ffname = vim_strsave(name);
- buf->b_sfname = NULL;
-***************
-*** 4820,4827 ****
- }
-
- /*
-! * Make "ffname" a full file name, set "sfname" to "ffname" if not NULL.
-! * "ffname" becomes a pointer to allocated memory (or NULL).
- */
- void
- fname_expand(
---- 4836,4847 ----
- }
-
- /*
-! * Make "*ffname" a full file name, set "*sfname" to "*ffname" if not NULL.
-! * "*ffname" becomes a pointer to allocated memory (or NULL).
-! * When resolving a link both "*sfname" and "*ffname" will point to the same
-! * allocated memory.
-! * The "*ffname" and "*sfname" pointer values on call will not be freed.
-! * Note that the resulting "*ffname" pointer should be considered not allocaed.
- */
- void
- fname_expand(
-***************
-*** 4829,4846 ****
- char_u **ffname,
- char_u **sfname)
- {
-! if (*ffname == NULL) /* if no file name given, nothing to do */
- return;
-! if (*sfname == NULL) /* if no short file name given, use ffname */
- *sfname = *ffname;
-! *ffname = fix_fname(*ffname); /* expand to full path */
-
- #ifdef FEAT_SHORTCUT
- if (!buf->b_p_bin)
- {
- char_u *rfname;
-
-! /* If the file name is a shortcut file, use the file it links to. */
- rfname = mch_resolve_shortcut(*ffname);
- if (rfname != NULL)
- {
---- 4849,4866 ----
- char_u **ffname,
- char_u **sfname)
- {
-! if (*ffname == NULL) // no file name given, nothing to do
- return;
-! if (*sfname == NULL) // no short file name given, use ffname
- *sfname = *ffname;
-! *ffname = fix_fname(*ffname); // expand to full path
-
- #ifdef FEAT_SHORTCUT
- if (!buf->b_p_bin)
- {
- char_u *rfname;
-
-! // If the file name is a shortcut file, use the file it links to.
- rfname = mch_resolve_shortcut(*ffname);
- if (rfname != NULL)
- {
-*** ../vim-8.1.0469/src/structs.h 2018-10-02 18:25:41.420867587 +0200
---- src/structs.h 2018-10-11 17:45:36.197140877 +0200
-***************
-*** 1972,1980 ****
- * b_fname is the same as b_sfname, unless ":cd" has been done,
- * then it is the same as b_ffname (NULL for no name).
- */
-! char_u *b_ffname; /* full path file name */
-! char_u *b_sfname; /* short file name */
-! char_u *b_fname; /* current file name */
-
- #ifdef UNIX
- int b_dev_valid; /* TRUE when b_dev has a valid number */
---- 1972,1982 ----
- * b_fname is the same as b_sfname, unless ":cd" has been done,
- * then it is the same as b_ffname (NULL for no name).
- */
-! char_u *b_ffname; // full path file name, allocated
-! char_u *b_sfname; // short file name, allocated, may be equal to
-! // b_ffname
-! char_u *b_fname; // current file name, points to b_ffname or
-! // b_sfname
-
- #ifdef UNIX
- int b_dev_valid; /* TRUE when b_dev has a valid number */
-*** ../vim-8.1.0469/src/fileio.c 2018-09-30 21:43:17.187693348 +0200
---- src/fileio.c 2018-10-11 18:50:41.084975167 +0200
-***************
-*** 6187,6193 ****
- || buf->b_sfname == NULL
- || mch_isFullName(buf->b_sfname)))
- {
-! VIM_CLEAR(buf->b_sfname);
- p = shorten_fname(buf->b_ffname, dirname);
- if (p != NULL)
- {
---- 6187,6194 ----
- || buf->b_sfname == NULL
- || mch_isFullName(buf->b_sfname)))
- {
-! if (buf->b_sfname != buf->b_ffname)
-! VIM_CLEAR(buf->b_sfname);
- p = shorten_fname(buf->b_ffname, dirname);
- if (p != NULL)
- {
-*** ../vim-8.1.0469/src/ex_cmds.c 2018-10-09 21:49:30.447622031 +0200
---- src/ex_cmds.c 2018-10-11 19:01:12.524192986 +0200
-***************
-*** 3648,3655 ****
- }
-
- /*
-! * Try to abandon current file and edit a new or existing file.
-! * "fnum" is the number of the file, if zero use ffname/sfname.
- * "lnum" is the line number for the cursor in the new file (if non-zero).
- *
- * Return:
---- 3648,3655 ----
- }
-
- /*
-! * Try to abandon the current file and edit a new or existing file.
-! * "fnum" is the number of the file, if zero use "ffname_arg"/"sfname_arg".
- * "lnum" is the line number for the cursor in the new file (if non-zero).
- *
- * Return:
-***************
-*** 3661,3672 ****
- int
- getfile(
- int fnum,
-! char_u *ffname,
-! char_u *sfname,
- int setpm,
- linenr_T lnum,
- int forceit)
- {
- int other;
- int retval;
- char_u *free_me = NULL;
---- 3661,3674 ----
- int
- getfile(
- int fnum,
-! char_u *ffname_arg,
-! char_u *sfname_arg,
- int setpm,
- linenr_T lnum,
- int forceit)
- {
-+ char_u *ffname = ffname_arg;
-+ char_u *sfname = sfname_arg;
- int other;
- int retval;
- char_u *free_me = NULL;
-*** ../vim-8.1.0469/src/version.c 2018-10-11 17:39:09.173107491 +0200
---- src/version.c 2018-10-11 18:57:27.585905972 +0200
-***************
-*** 794,795 ****
---- 794,797 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 470,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-189. You put your e-mail address in the upper left-hand corner of envelopes.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///