Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r2256:b8169a197564 Date: 2015-08-26 09:04 +0200 http://bitbucket.org/cffi/cffi/changeset/b8169a197564/
Log: Issue #217: use memcpy() instead of manually copying the data. On some architecture, the target is not correctly aligned for "void *". diff --git a/c/_cffi_backend.c b/c/_cffi_backend.c --- a/c/_cffi_backend.c +++ b/c/_cffi_backend.c @@ -3582,7 +3582,6 @@ array [ctype, length] funcptr [ctresult, ellipsis+abi, num_args, ctargs...] */ - long i; PyObject *key, *y; const void **pkey; int err; @@ -3592,8 +3591,7 @@ goto error; pkey = (const void **)PyBytes_AS_STRING(key); - for (i = 0; i < keylength; i++) - pkey[i] = unique_key[i]; + memcpy(pkey, unique_key, keylength * sizeof(void *)); y = PyDict_GetItem(unique_cache, key); if (y != NULL) { _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit