diff options
author | Bram Moolenaar <Bram@vim.org> | 2012-11-28 18:31:54 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2012-11-28 18:31:54 +0100 |
commit | 97d4ea71d613ab69c25851950f9299687a80da01 (patch) | |
tree | e77ff0bfc7f9c8fda11fc6148e995872aae883dc | |
parent | f4f1956724f70a7def3bcf8a2d77cf1f8c9dd28c (diff) | |
download | vim-97d4ea71d613ab69c25851950f9299687a80da01.zip |
updated for version 7.3.740
Problem: IOC tool complains about undefined behavior for int.
Solution: Change to unsigned int. (Dominique Pelle)
-rw-r--r-- | src/hashtab.c | 12 | ||||
-rw-r--r-- | src/misc2.c | 4 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 10 insertions, 8 deletions
diff --git a/src/hashtab.c b/src/hashtab.c index 8b53aa401..a47fa94b2 100644 --- a/src/hashtab.c +++ b/src/hashtab.c @@ -138,7 +138,7 @@ hash_lookup(ht, key, hash) hash_T perturb; hashitem_T *freeitem; hashitem_T *hi; - int idx; + unsigned idx; #ifdef HT_DEBUG ++hash_count_lookup; @@ -150,7 +150,7 @@ hash_lookup(ht, key, hash) * - skip over a removed item * - return if the item matches */ - idx = (int)(hash & ht->ht_mask); + idx = (unsigned)(hash & ht->ht_mask); hi = &ht->ht_array[idx]; if (hi->hi_key == NULL) @@ -176,7 +176,7 @@ hash_lookup(ht, key, hash) #ifdef HT_DEBUG ++hash_count_perturb; /* count a "miss" for hashtab lookup */ #endif - idx = (int)((idx << 2) + idx + perturb + 1); + 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,7 +342,7 @@ hash_may_resize(ht, minitems) hashitem_T temparray[HT_INIT_SIZE]; hashitem_T *oldarray, *newarray; hashitem_T *olditem, *newitem; - int newi; + unsigned newi; int todo; long_u oldsize, newsize; long_u minsize; @@ -448,13 +448,13 @@ hash_may_resize(ht, minitems) * 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); + newi = (unsigned)(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); + newi = (unsigned)((newi << 2U) + newi + perturb + 1U); newitem = &newarray[newi & newmask]; if (newitem->hi_key == NULL) break; diff --git a/src/misc2.c b/src/misc2.c index 084d451ac..72a034362 100644 --- a/src/misc2.c +++ b/src/misc2.c @@ -3860,7 +3860,7 @@ static ulg keys[3]; /* keys defining the pseudo-random sequence */ ush temp; \ \ temp = (ush)keys[2] | 2; \ - t = (int)(((unsigned)(temp * (temp ^ 1)) >> 8) & 0xff); \ + t = (int)(((unsigned)(temp * (temp ^ 1U)) >> 8) & 0xff); \ } /* @@ -4002,7 +4002,7 @@ crypt_decode(ptr, len) ush temp; temp = (ush)keys[2] | 2; - temp = (int)(((unsigned)(temp * (temp ^ 1)) >> 8) & 0xff); + temp = (int)(((unsigned)(temp * (temp ^ 1U)) >> 8) & 0xff); UPDATE_KEYS_ZIP(*p ^= temp); } else diff --git a/src/version.c b/src/version.c index 47a69c28e..e8996e358 100644 --- a/src/version.c +++ b/src/version.c @@ -726,6 +726,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 740, +/**/ 739, /**/ 738, |