home *** CD-ROM | disk | FTP | other *** search
- To: vim_dev@googlegroups.com
- Subject: Patch 7.3.740
- 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.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@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 ///
-