{"thread":{"id":"20561","subject":"[PATCH 1/3] block-sha1: move code around","startedAt":"2009-08-12T19:45:48Z","lastAt":"2009-08-12T19:45:48Z","messageCount":1,"participants":["Nicolas Pitre"],"isPatch":true,"patchVersion":1,"patchTotal":3},"messages":[{"id":"120441","messageId":"alpine.LFD.2.00.0908121542440.10633@xanadu.home","threadId":"20561","inReplyTo":null,"subject":"[PATCH 1/3] block-sha1: move code around","fromName":"Nicolas Pitre","fromEmail":"nico@cam.org","sentAt":"2009-08-12T19:45:48Z","receivedAt":"2009-08-12T19:45:48Z","isPatch":true,"sender":{"key":"nico@fluxnic.net","avatar":"https://avatars.githubusercontent.com/u/702790?v=4"},"body":"\nMove the code around so specific architecture hacks are defined first.\nAlso make one line comments actually one line.  No code change.\n\nSigned-off-by: Nicolas Pitre <nico@cam.org>\n---\n block-sha1/sha1.c |  129 ++++++++++++++++++++++++----------------------------\n 1 files changed, 60 insertions(+), 69 deletions(-)\n\ndiff --git a/block-sha1/sha1.c b/block-sha1/sha1.c\nindex 304cd04..c3f1ae5 100644\n--- a/block-sha1/sha1.c\n+++ b/block-sha1/sha1.c\n@@ -9,74 +9,6 @@\n \n #include \"sha1.h\"\n \n-/* Hash one 64-byte block of data */\n-static void blk_SHA1Block(blk_SHA_CTX *ctx, const unsigned int *data);\n-\n-void blk_SHA1_Init(blk_SHA_CTX *ctx)\n-{\n-\tctx->size = 0;\n-\n-\t/* Initialize H with the magic constants (see FIPS180 for constants)\n-\t */\n-\tctx->H[0] = 0x67452301;\n-\tctx->H[1] = 0xefcdab89;\n-\tctx->H[2] = 0x98badcfe;\n-\tctx->H[3] = 0x10325476;\n-\tctx->H[4] = 0xc3d2e1f0;\n-}\n-\n-\n-void blk_SHA1_Update(blk_SHA_CTX *ctx, const void *data, unsigned long len)\n-{\n-\tint lenW = ctx->size & 63;\n-\n-\tctx->size += len;\n-\n-\t/* Read the data into W and process blocks as they get full\n-\t */\n-\tif (lenW) {\n-\t\tint left = 64 - lenW;\n-\t\tif (len < left)\n-\t\t\tleft = len;\n-\t\tmemcpy(lenW + (char *)ctx->W, data, left);\n-\t\tlenW = (lenW + left) & 63;\n-\t\tlen -= left;\n-\t\tdata += left;\n-\t\tif (lenW)\n-\t\t\treturn;\n-\t\tblk_SHA1Block(ctx, ctx->W);\n-\t}\n-\twhile (len >= 64) {\n-\t\tblk_SHA1Block(ctx, data);\n-\t\tdata += 64;\n-\t\tlen -= 64;\n-\t}\n-\tif (len)\n-\t\tmemcpy(ctx->W, data, len);\n-}\n-\n-\n-void blk_SHA1_Final(unsigned char hashout[20], blk_SHA_CTX *ctx)\n-{\n-\tstatic const unsigned char pad[64] = { 0x80 };\n-\tunsigned int padlen[2];\n-\tint i;\n-\n-\t/* Pad with a binary 1 (ie 0x80), then zeroes, then length\n-\t */\n-\tpadlen[0] = htonl(ctx->size >> 29);\n-\tpadlen[1] = htonl(ctx->size << 3);\n-\n-\ti = ctx->size & 63;\n-\tblk_SHA1_Update(ctx, pad, 1+ (63 & (55 - i)));\n-\tblk_SHA1_Update(ctx, padlen, 8);\n-\n-\t/* Output hash\n-\t */\n-\tfor (i = 0; i < 5; i++)\n-\t\t((unsigned int *)hashout)[i] = htonl(ctx->H[i]);\n-}\n-\n #if defined(__i386__) || defined(__x86_64__)\n \n #define SHA_ASM(op, x, n) ({ unsigned int __res; __asm__(op \" %1,%0\":\"=r\" (__res):\"i\" (n), \"0\" (x)); __res; })\n@@ -136,7 +68,7 @@ void blk_SHA1_Final(unsigned char hashout[20], blk_SHA_CTX *ctx)\n #define T_40_59(t, A, B, C, D, E) SHA_ROUND(t, SHA_MIX, ((B&C)+(D&(B^C))) , 0x8f1bbcdc, A, B, C, D, E )\n #define T_60_79(t, A, B, C, D, E) SHA_ROUND(t, SHA_MIX, (B^C^D) ,  0xca62c1d6, A, B, C, D, E )\n \n-static void blk_SHA1Block(blk_SHA_CTX *ctx, const unsigned int *data)\n+static void blk_SHA1_Block(blk_SHA_CTX *ctx, const unsigned int *data)\n {\n \tunsigned int A,B,C,D,E;\n \tunsigned int array[16];\n@@ -243,3 +175,62 @@ static void blk_SHA1Block(blk_SHA_CTX *ctx, const unsigned int *data)\n \tctx->H[3] += D;\n \tctx->H[4] += E;\n }\n+\n+void blk_SHA1_Init(blk_SHA_CTX *ctx)\n+{\n+\tctx->size = 0;\n+\n+\t/* Initialize H with the magic constants (see FIPS180 for constants) */\n+\tctx->H[0] = 0x67452301;\n+\tctx->H[1] = 0xefcdab89;\n+\tctx->H[2] = 0x98badcfe;\n+\tctx->H[3] = 0x10325476;\n+\tctx->H[4] = 0xc3d2e1f0;\n+}\n+\n+void blk_SHA1_Update(blk_SHA_CTX *ctx, const void *data, unsigned long len)\n+{\n+\tint lenW = ctx->size & 63;\n+\n+\tctx->size += len;\n+\n+\t/* Read the data into W and process blocks as they get full */\n+\tif (lenW) {\n+\t\tint left = 64 - lenW;\n+\t\tif (len < left)\n+\t\t\tleft = len;\n+\t\tmemcpy(lenW + (char *)ctx->W, data, left);\n+\t\tlenW = (lenW + left) & 63;\n+\t\tlen -= left;\n+\t\tdata += left;\n+\t\tif (lenW)\n+\t\t\treturn;\n+\t\tblk_SHA1_Block(ctx, ctx->W);\n+\t}\n+\twhile (len >= 64) {\n+\t\tblk_SHA1_Block(ctx, data);\n+\t\tdata += 64;\n+\t\tlen -= 64;\n+\t}\n+\tif (len)\n+\t\tmemcpy(ctx->W, data, len);\n+}\n+\n+void blk_SHA1_Final(unsigned char hashout[20], blk_SHA_CTX *ctx)\n+{\n+\tstatic const unsigned char pad[64] = { 0x80 };\n+\tunsigned int padlen[2];\n+\tint i;\n+\n+\t/* Pad with a binary 1 (ie 0x80), then zeroes, then length */\n+\tpadlen[0] = htonl(ctx->size >> 29);\n+\tpadlen[1] = htonl(ctx->size << 3);\n+\n+\ti = ctx->size & 63;\n+\tblk_SHA1_Update(ctx, pad, 1+ (63 & (55 - i)));\n+\tblk_SHA1_Update(ctx, padlen, 8);\n+\n+\t/* Output hash */\n+\tfor (i = 0; i < 5; i++)\n+\t\t((unsigned int *)hashout)[i] = htonl(ctx->H[i]);\n+}\n-- \n1.6.4.189.g282fa\n"}]}