Karsten Hopp 530228
To: vim-dev@vim.org
Karsten Hopp 530228
Subject: Patch 7.1.208
Karsten Hopp 530228
Fcc: outbox
Karsten Hopp 530228
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 530228
Mime-Version: 1.0
Karsten Hopp 530228
Content-Type: text/plain; charset=ISO-8859-1
Karsten Hopp 530228
Content-Transfer-Encoding: 8bit
Karsten Hopp 530228
------------
Karsten Hopp 530228
Karsten Hopp 530228
Patch 7.1.208
Karsten Hopp 530228
Problem:    On Alpha get an unaligned access error.
Karsten Hopp 530228
Solution:   Store the dictitem pointer before using it. (Matthew Luckie)
Karsten Hopp 530228
Files:	    src/eval.c
Karsten Hopp 530228
Karsten Hopp 530228
Karsten Hopp 530228
*** ../vim-7.1.207/src/eval.c	Sat Jan  5 13:34:01 2008
Karsten Hopp 530228
--- src/eval.c	Sat Jan  5 13:22:52 2008
Karsten Hopp 530228
***************
Karsten Hopp 530228
*** 3407,3412 ****
Karsten Hopp 530228
--- 3407,3413 ----
Karsten Hopp 530228
      hashtab_T	*ht;
Karsten Hopp 530228
      hashitem_T	*hi;
Karsten Hopp 530228
      char_u	*varname;
Karsten Hopp 530228
+     dictitem_T	*di;
Karsten Hopp 530228
  
Karsten Hopp 530228
      ht = find_var_ht(name, &varname);
Karsten Hopp 530228
      if (ht != NULL && *varname != NUL)
Karsten Hopp 530228
***************
Karsten Hopp 530228
*** 3414,3422 ****
Karsten Hopp 530228
  	hi = hash_find(ht, varname);
Karsten Hopp 530228
  	if (!HASHITEM_EMPTY(hi))
Karsten Hopp 530228
  	{
Karsten Hopp 530228
! 	    if (var_check_fixed(HI2DI(hi)->di_flags, name))
Karsten Hopp 530228
! 		return FAIL;
Karsten Hopp 530228
! 	    if (var_check_ro(HI2DI(hi)->di_flags, name))
Karsten Hopp 530228
  		return FAIL;
Karsten Hopp 530228
  	    delete_var(ht, hi);
Karsten Hopp 530228
  	    return OK;
Karsten Hopp 530228
--- 3415,3423 ----
Karsten Hopp 530228
  	hi = hash_find(ht, varname);
Karsten Hopp 530228
  	if (!HASHITEM_EMPTY(hi))
Karsten Hopp 530228
  	{
Karsten Hopp 530228
! 	    di = HI2DI(hi);
Karsten Hopp 530228
! 	    if (var_check_fixed(di->di_flags, name)
Karsten Hopp 530228
! 		    || var_check_ro(di->di_flags, name))
Karsten Hopp 530228
  		return FAIL;
Karsten Hopp 530228
  	    delete_var(ht, hi);
Karsten Hopp 530228
  	    return OK;
Karsten Hopp 530228
*** ../vim-7.1.207/src/version.c	Sat Jan  5 18:06:33 2008
Karsten Hopp 530228
--- src/version.c	Sat Jan  5 22:14:17 2008
Karsten Hopp 530228
***************
Karsten Hopp 530228
*** 668,669 ****
Karsten Hopp 530228
--- 668,671 ----
Karsten Hopp 530228
  {   /* Add new patch number below this line */
Karsten Hopp 530228
+ /**/
Karsten Hopp 530228
+     208,
Karsten Hopp 530228
  /**/
Karsten Hopp 530228
Karsten Hopp 530228
-- 
Karsten Hopp 530228
ARTHUR:  Bloody peasant!
Karsten Hopp 530228
DENNIS:  Oh, what a give away.  Did you here that, did you here that, eh?
Karsten Hopp 530228
         That's what I'm on about -- did you see him repressing me, you saw it
Karsten Hopp 530228
         didn't you?
Karsten Hopp 530228
                                  The Quest for the Holy Grail (Monty Python)
Karsten Hopp 530228
Karsten Hopp 530228
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 530228
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 530228
\\\        download, build and distribute -- http://www.A-A-P.org        ///
Karsten Hopp 530228
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///