[vim] - patchlevel 740
Karsten Hopp
karsten at fedoraproject.org
Mon Jan 28 11:14:05 UTC 2013
commit 5b33a384250fc3ce46b481be87107c595ea1cd83
Author: Karsten Hopp <karsten at redhat.com>
Date: Mon Jan 28 12:11:04 2013 +0100
- patchlevel 740
7.3.740 | 168 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 168 insertions(+), 0 deletions(-)
---
diff --git a/7.3.740 b/7.3.740
new file mode 100644
index 0000000..80c7609
--- /dev/null
+++ b/7.3.740
@@ -0,0 +1,168 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.740
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.740
+Problem: IOC tool complains about undefined behavior for int.
+Solution: Change to unsigned int. (Dominique Pelle)
+Files: src/hashtab.c, src/misc2.c
+
+
+*** ../vim-7.3.739/src/hashtab.c 2010-08-15 21:57:25.000000000 +0200
+--- src/hashtab.c 2012-11-28 18:27:46.000000000 +0100
+***************
+*** 138,144 ****
+ hash_T perturb;
+ hashitem_T *freeitem;
+ hashitem_T *hi;
+! int idx;
+
+ #ifdef HT_DEBUG
+ ++hash_count_lookup;
+--- 138,144 ----
+ hash_T perturb;
+ hashitem_T *freeitem;
+ hashitem_T *hi;
+! unsigned idx;
+
+ #ifdef HT_DEBUG
+ ++hash_count_lookup;
+***************
+*** 150,156 ****
+ * - skip over a removed item
+ * - return if the item matches
+ */
+! idx = (int)(hash & ht->ht_mask);
+ hi = &ht->ht_array[idx];
+
+ if (hi->hi_key == NULL)
+--- 150,156 ----
+ * - skip over a removed item
+ * - return if the item matches
+ */
+! idx = (unsigned)(hash & ht->ht_mask);
+ hi = &ht->ht_array[idx];
+
+ if (hi->hi_key == NULL)
+***************
+*** 176,182 ****
+ #ifdef HT_DEBUG
+ ++hash_count_perturb; /* count a "miss" for hashtab lookup */
+ #endif
+! idx = (int)((idx << 2) + idx + perturb + 1);
+ hi = &ht->ht_array[idx & ht->ht_mask];
+ if (hi->hi_key == NULL)
+ return freeitem == NULL ? hi : freeitem;
+--- 176,182 ----
+ #ifdef HT_DEBUG
+ ++hash_count_perturb; /* count a "miss" for hashtab lookup */
+ #endif
+! idx = (unsigned)((idx << 2U) + idx + perturb + 1U);
+ hi = &ht->ht_array[idx & ht->ht_mask];
+ if (hi->hi_key == NULL)
+ return freeitem == NULL ? hi : freeitem;
+***************
+*** 342,348 ****
+ hashitem_T temparray[HT_INIT_SIZE];
+ hashitem_T *oldarray, *newarray;
+ hashitem_T *olditem, *newitem;
+! int newi;
+ int todo;
+ long_u oldsize, newsize;
+ long_u minsize;
+--- 342,348 ----
+ hashitem_T temparray[HT_INIT_SIZE];
+ hashitem_T *oldarray, *newarray;
+ hashitem_T *olditem, *newitem;
+! unsigned newi;
+ int todo;
+ long_u oldsize, newsize;
+ long_u minsize;
+***************
+*** 448,460 ****
+ * the algorithm to find an item in hash_lookup(). But we only
+ * need to search for a NULL key, thus it's simpler.
+ */
+! newi = (int)(olditem->hi_hash & newmask);
+ newitem = &newarray[newi];
+
+ if (newitem->hi_key != NULL)
+ for (perturb = olditem->hi_hash; ; perturb >>= PERTURB_SHIFT)
+ {
+! newi = (int)((newi << 2) + newi + perturb + 1);
+ newitem = &newarray[newi & newmask];
+ if (newitem->hi_key == NULL)
+ break;
+--- 448,460 ----
+ * the algorithm to find an item in hash_lookup(). But we only
+ * need to search for a NULL key, thus it's simpler.
+ */
+! newi = (unsigned)(olditem->hi_hash & newmask);
+ newitem = &newarray[newi];
+
+ if (newitem->hi_key != NULL)
+ for (perturb = olditem->hi_hash; ; perturb >>= PERTURB_SHIFT)
+ {
+! newi = (unsigned)((newi << 2U) + newi + perturb + 1U);
+ newitem = &newarray[newi & newmask];
+ if (newitem->hi_key == NULL)
+ break;
+*** ../vim-7.3.739/src/misc2.c 2012-08-15 16:20:59.000000000 +0200
+--- src/misc2.c 2012-11-28 18:27:46.000000000 +0100
+***************
+*** 3860,3866 ****
+ ush temp; \
+ \
+ temp = (ush)keys[2] | 2; \
+! t = (int)(((unsigned)(temp * (temp ^ 1)) >> 8) & 0xff); \
+ }
+
+ /*
+--- 3860,3866 ----
+ ush temp; \
+ \
+ temp = (ush)keys[2] | 2; \
+! t = (int)(((unsigned)(temp * (temp ^ 1U)) >> 8) & 0xff); \
+ }
+
+ /*
+***************
+*** 4002,4008 ****
+ ush temp;
+
+ temp = (ush)keys[2] | 2;
+! temp = (int)(((unsigned)(temp * (temp ^ 1)) >> 8) & 0xff);
+ UPDATE_KEYS_ZIP(*p ^= temp);
+ }
+ else
+--- 4002,4008 ----
+ ush temp;
+
+ temp = (ush)keys[2] | 2;
+! temp = (int)(((unsigned)(temp * (temp ^ 1U)) >> 8) & 0xff);
+ UPDATE_KEYS_ZIP(*p ^= temp);
+ }
+ else
+*** ../vim-7.3.739/src/version.c 2012-11-28 18:22:04.000000000 +0100
+--- src/version.c 2012-11-28 18:28:00.000000000 +0100
+***************
+*** 727,728 ****
+--- 727,730 ----
+ { /* Add new patch number below this line */
++ /**/
++ 740,
+ /**/
+
+--
+From "know your smileys":
+ ~#:-( I just washed my hair, and I can't do nuthin' with it.
+
+ /// Bram Moolenaar -- Bram at 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 ///
More information about the scm-commits
mailing list