mirror of
https://github.com/vim/vim.git
synced 2025-09-29 04:34:16 -04:00
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)
This commit is contained in:
@@ -1097,7 +1097,7 @@ perl_to_vim(SV *sv, typval_T *rettv)
|
|||||||
case SVt_PVHV: /* dictionary */
|
case SVt_PVHV: /* dictionary */
|
||||||
{
|
{
|
||||||
HE * entry;
|
HE * entry;
|
||||||
size_t key_len;
|
I32 key_len;
|
||||||
char * key;
|
char * key;
|
||||||
dictitem_T * item;
|
dictitem_T * item;
|
||||||
SV * item2;
|
SV * item2;
|
||||||
@@ -1121,9 +1121,9 @@ perl_to_vim(SV *sv, typval_T *rettv)
|
|||||||
for (entry = hv_iternext((HV *)sv); entry; entry = hv_iternext((HV *)sv))
|
for (entry = hv_iternext((HV *)sv); entry; entry = hv_iternext((HV *)sv))
|
||||||
{
|
{
|
||||||
key_len = 0;
|
key_len = 0;
|
||||||
key = hv_iterkey(entry, (I32 *)&key_len);
|
key = hv_iterkey(entry, &key_len);
|
||||||
|
|
||||||
if (!key || !key_len || strlen(key) < key_len) {
|
if (!key || !key_len || strlen(key) < (size_t)key_len) {
|
||||||
EMSG2("Malformed key Dictionary '%s'", key && *key ? key : "(empty)");
|
EMSG2("Malformed key Dictionary '%s'", key && *key ? key : "(empty)");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -748,6 +748,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 */
|
||||||
|
/**/
|
||||||
|
1400,
|
||||||
/**/
|
/**/
|
||||||
1399,
|
1399,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user