# HG changeset patch # User Gregory Szorc # Date 2020-01-15 01:39:12 # Node ID c3f741bb2f33cd0c6a8f42ee80e75d36c236dad0 # Parent ef36156eac9f657fe7068f4bd1f84c4f5a81ded5 sha1dc: declare all variables at begininng of block This is required to appease ancient C language standards, which msvc 2008 still requires for Python 2.7 on Windows. Differential Revision: https://phab.mercurial-scm.org/D7877 diff --git a/mercurial/thirdparty/sha1dc/cext.c b/mercurial/thirdparty/sha1dc/cext.c --- a/mercurial/thirdparty/sha1dc/cext.c +++ b/mercurial/thirdparty/sha1dc/cext.c @@ -84,13 +84,14 @@ static PyObject *pysha1ctx_digest(pysha1 static PyObject *pysha1ctx_hexdigest(pysha1ctx *self) { + static const char hexdigit[] = "0123456789abcdef"; unsigned char hash[20]; + char hexhash[40]; + int i; if (!finalize(self->ctx, hash)) { return NULL; } - char hexhash[40]; - static const char hexdigit[] = "0123456789abcdef"; - for (int i = 0; i < 20; ++i) { + for (i = 0; i < 20; ++i) { hexhash[i * 2] = hexdigit[hash[i] >> 4]; hexhash[i * 2 + 1] = hexdigit[hash[i] & 15]; }