From cff9e510f3979df48e30de6ad6fc315ae037e9fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Mon, 30 Sep 2002 21:39:23 +0200
Subject: [PATCH] (base64_encode): Broke out some common code from the switch..

Rev: src/nettle/base64.c:1.4
---
 base64.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/base64.c b/base64.c
index 7124060e..566cd30b 100644
--- a/base64.c
+++ b/base64.c
@@ -71,27 +71,24 @@ base64_encode(uint8_t *dst,
 
   if (left_over)
     {
+      in -= left_over;
+      *--out = '=';
       switch(left_over)
 	{
 	case 1:
-	  in--;
-	  *--out = '=';
 	  *--out = '=';
 	  *--out = ENCODE(in[0] << 4);
-	  *--out = ENCODE(in[0] >> 2);
 	  break;
 	  
 	case 2:
-	  in-= 2;
-	  *--out = '=';
 	  *--out = ENCODE( in[1] << 2);
 	  *--out = ENCODE((in[0] << 4) | (in[1] >> 4));
-	  *--out = ENCODE( in[0] >> 2);
 	  break;
 
 	default:
 	  abort();
 	}
+      *--out = ENCODE(in[0] >> 2);
     }
   
   while (in > src)
-- 
GitLab