]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 7.4.1400 v7.4.1400
authorBram Moolenaar <Bram@vim.org>
Tue, 23 Feb 2016 15:06:28 +0000 (16:06 +0100)
committerBram Moolenaar <Bram@vim.org>
Tue, 23 Feb 2016 15:06:28 +0000 (16:06 +0100)
Problem:    Perl eval doesn't work properly on 64-bit big-endian machine.
Solution:   Use 32 bit type for the key. (Danek Duvall)

src/if_perl.xs
src/version.c

index 47c944039c2d2e822d99c1adbea0d38ebea35dca..9ca52917f5daadf3deb5e34c6b1f1bdeca057e3c 100644 (file)
@@ -1097,7 +1097,7 @@ perl_to_vim(SV *sv, typval_T *rettv)
        case SVt_PVHV:  /* dictionary */
        {
            HE *                entry;
-           size_t              key_len;
+           I32                 key_len;
            char *              key;
            dictitem_T *        item;
            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))
                {
                    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)");
                        break;
                    }
index e8226192e516bcc371c95ff4f02d5f5a79a3e938..3bcbd8d0dc90a5b5e6baeba5054ee2266971f1b9 100644 (file)
@@ -748,6 +748,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1400,
 /**/
     1399,
 /**/