To: vim_dev@googlegroups.com Subject: Patch 7.4.1400 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ 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) Files: src/if_perl.xs *** ../vim-7.4.1399/src/if_perl.xs 2016-02-16 15:06:54.661635316 +0100 --- src/if_perl.xs 2016-02-23 15:59:50.479334353 +0100 *************** *** 1097,1103 **** case SVt_PVHV: /* dictionary */ { HE * entry; ! size_t key_len; char * key; dictitem_T * item; SV * item2; --- 1097,1103 ---- case SVt_PVHV: /* dictionary */ { HE * entry; ! I32 key_len; char * key; dictitem_T * item; SV * item2; *************** *** 1121,1129 **** for (entry = hv_iternext((HV *)sv); entry; entry = hv_iternext((HV *)sv)) { key_len = 0; ! key = hv_iterkey(entry, (I32 *)&key_len); ! if (!key || !key_len || strlen(key) < key_len) { EMSG2("Malformed key Dictionary '%s'", key && *key ? key : "(empty)"); break; } --- 1121,1129 ---- for (entry = hv_iternext((HV *)sv); entry; entry = hv_iternext((HV *)sv)) { key_len = 0; ! key = hv_iterkey(entry, &key_len); ! if (!key || !key_len || strlen(key) < (size_t)key_len) { EMSG2("Malformed key Dictionary '%s'", key && *key ? key : "(empty)"); break; } *** ../vim-7.4.1399/src/version.c 2016-02-23 14:52:31.901232005 +0100 --- src/version.c 2016-02-23 16:00:59.210623761 +0100 *************** *** 750,751 **** --- 750,753 ---- { /* Add new patch number below this line */ + /**/ + 1400, /**/ -- Yesterday is history. Tomorrow is a mystery. Today is a gift. That's why it is called 'present'. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///