base64: simplify end handling in av_base64_encode()
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 20 Jan 2012 21:56:18 +0000 (22:56 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 20 Jan 2012 23:24:10 +0000 (00:24 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavutil/base64.c

index 26e28b7..cd3cb9e 100644 (file)
@@ -99,14 +99,11 @@ char *av_base64_encode(char *out, int out_size, const uint8_t *in, int in_size)
         i_bits = (i_bits << 8) + *in++;
         bytes_remaining--;
         i_shift += 8;
-
-        do {
-            *dst++ = b64[(i_bits << 6 >> i_shift) & 0x3f];
-            i_shift -= 6;
-        } while (i_shift > 6);
     }
-    if (i_shift > 0)
+    while (i_shift > 0) {
         *dst++ = b64[(i_bits << 6 >> i_shift) & 0x3f];
+        i_shift -= 6;
+    }
     while ((dst - ret) & 3)
         *dst++ = '=';
     *dst = '\0';