mirror of
https://github.com/vim/vim.git
synced 2025-09-29 04:34:16 -04:00
patch 8.2.1560: using NULL pointers in some code
Problem: Using NULL pointers in some code. (James McCoy) Solution: Avoid adding to a NULL pointer. Use byte as unsigned.
This commit is contained in:
22
src/fold.c
22
src/fold.c
@@ -1314,7 +1314,7 @@ setManualFoldWin(
|
||||
if (!foldFind(gap, lnum, &fp))
|
||||
{
|
||||
// If there is a following fold, continue there next time.
|
||||
if (fp < (fold_T *)gap->ga_data + gap->ga_len)
|
||||
if (fp != NULL && fp < (fold_T *)gap->ga_data + gap->ga_len)
|
||||
next = fp->fd_top + off;
|
||||
break;
|
||||
}
|
||||
@@ -2905,18 +2905,20 @@ foldSplit(
|
||||
// any between top and bot, they have been removed by the caller.
|
||||
gap1 = &fp->fd_nested;
|
||||
gap2 = &fp[1].fd_nested;
|
||||
(void)(foldFind(gap1, bot + 1 - fp->fd_top, &fp2));
|
||||
len = (int)((fold_T *)gap1->ga_data + gap1->ga_len - fp2);
|
||||
if (len > 0 && ga_grow(gap2, len) == OK)
|
||||
if (foldFind(gap1, bot + 1 - fp->fd_top, &fp2))
|
||||
{
|
||||
for (idx = 0; idx < len; ++idx)
|
||||
len = (int)((fold_T *)gap1->ga_data + gap1->ga_len - fp2);
|
||||
if (len > 0 && ga_grow(gap2, len) == OK)
|
||||
{
|
||||
((fold_T *)gap2->ga_data)[idx] = fp2[idx];
|
||||
((fold_T *)gap2->ga_data)[idx].fd_top
|
||||
-= fp[1].fd_top - fp->fd_top;
|
||||
for (idx = 0; idx < len; ++idx)
|
||||
{
|
||||
((fold_T *)gap2->ga_data)[idx] = fp2[idx];
|
||||
((fold_T *)gap2->ga_data)[idx].fd_top
|
||||
-= fp[1].fd_top - fp->fd_top;
|
||||
}
|
||||
gap2->ga_len = len;
|
||||
gap1->ga_len -= len;
|
||||
}
|
||||
gap2->ga_len = len;
|
||||
gap1->ga_len -= len;
|
||||
}
|
||||
fp->fd_len = top - fp->fd_top;
|
||||
fold_changed = TRUE;
|
||||
|
Reference in New Issue
Block a user