0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

updated for version 7.3.740

Problem:    IOC tool complains about undefined behavior for int.
Solution:   Change to unsigned int. (Dominique Pelle)
This commit is contained in:
Bram Moolenaar
2012-11-28 18:31:54 +01:00
parent f4f1956724
commit 97d4ea71d6
3 changed files with 10 additions and 8 deletions

View File

@@ -138,7 +138,7 @@ hash_lookup(ht, key, hash)
hash_T perturb; hash_T perturb;
hashitem_T *freeitem; hashitem_T *freeitem;
hashitem_T *hi; hashitem_T *hi;
int idx; unsigned idx;
#ifdef HT_DEBUG #ifdef HT_DEBUG
++hash_count_lookup; ++hash_count_lookup;
@@ -150,7 +150,7 @@ hash_lookup(ht, key, hash)
* - skip over a removed item * - skip over a removed item
* - return if the item matches * - return if the item matches
*/ */
idx = (int)(hash & ht->ht_mask); idx = (unsigned)(hash & ht->ht_mask);
hi = &ht->ht_array[idx]; hi = &ht->ht_array[idx];
if (hi->hi_key == NULL) if (hi->hi_key == NULL)
@@ -176,7 +176,7 @@ hash_lookup(ht, key, hash)
#ifdef HT_DEBUG #ifdef HT_DEBUG
++hash_count_perturb; /* count a "miss" for hashtab lookup */ ++hash_count_perturb; /* count a "miss" for hashtab lookup */
#endif #endif
idx = (int)((idx << 2) + idx + perturb + 1); idx = (unsigned)((idx << 2U) + idx + perturb + 1U);
hi = &ht->ht_array[idx & ht->ht_mask]; hi = &ht->ht_array[idx & ht->ht_mask];
if (hi->hi_key == NULL) if (hi->hi_key == NULL)
return freeitem == NULL ? hi : freeitem; return freeitem == NULL ? hi : freeitem;
@@ -342,7 +342,7 @@ hash_may_resize(ht, minitems)
hashitem_T temparray[HT_INIT_SIZE]; hashitem_T temparray[HT_INIT_SIZE];
hashitem_T *oldarray, *newarray; hashitem_T *oldarray, *newarray;
hashitem_T *olditem, *newitem; hashitem_T *olditem, *newitem;
int newi; unsigned newi;
int todo; int todo;
long_u oldsize, newsize; long_u oldsize, newsize;
long_u minsize; long_u minsize;
@@ -448,13 +448,13 @@ hash_may_resize(ht, minitems)
* the algorithm to find an item in hash_lookup(). But we only * the algorithm to find an item in hash_lookup(). But we only
* need to search for a NULL key, thus it's simpler. * 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]; newitem = &newarray[newi];
if (newitem->hi_key != NULL) if (newitem->hi_key != NULL)
for (perturb = olditem->hi_hash; ; perturb >>= PERTURB_SHIFT) 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]; newitem = &newarray[newi & newmask];
if (newitem->hi_key == NULL) if (newitem->hi_key == NULL)
break; break;

View File

@@ -3860,7 +3860,7 @@ static ulg keys[3]; /* keys defining the pseudo-random sequence */
ush temp; \ ush temp; \
\ \
temp = (ush)keys[2] | 2; \ 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; ush temp;
temp = (ush)keys[2] | 2; 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); UPDATE_KEYS_ZIP(*p ^= temp);
} }
else else

View File

@@ -725,6 +725,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
740,
/**/ /**/
739, 739,
/**/ /**/