Skip to content

Commit 254ebaf

Browse files
committed
patch 7.4.1400
Problem: Perl eval doesn't work properly on 64-bit big-endian machine. Solution: Use 32 bit type for the key. (Danek Duvall)
1 parent 48e330a commit 254ebaf

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/if_perl.xs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1097,7 +1097,7 @@ perl_to_vim(SV *sv, typval_T *rettv)
10971097
case SVt_PVHV: /* dictionary */
10981098
{
10991099
HE * entry;
1100-
size_t key_len;
1100+
I32 key_len;
11011101
char * key;
11021102
dictitem_T * item;
11031103
SV * item2;
@@ -1121,9 +1121,9 @@ perl_to_vim(SV *sv, typval_T *rettv)
11211121
for (entry = hv_iternext((HV *)sv); entry; entry = hv_iternext((HV *)sv))
11221122
{
11231123
key_len = 0;
1124-
key = hv_iterkey(entry, (I32 *)&key_len);
1124+
key = hv_iterkey(entry, &key_len);
11251125

1126-
if (!key || !key_len || strlen(key) < key_len) {
1126+
if (!key || !key_len || strlen(key) < (size_t)key_len) {
11271127
EMSG2("Malformed key Dictionary '%s'", key && *key ? key : "(empty)");
11281128
break;
11291129
}

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -748,6 +748,8 @@ static char *(features[]) =
748748

749749
static int included_patches[] =
750750
{ /* Add new patch number below this line */
751+
/**/
752+
1400,
751753
/**/
752754
1399,
753755
/**/

0 commit comments

Comments
 (0)