Misc. base64.c tweaks
This commit is contained in:
parent
d32e28bde3
commit
11bb1ef661
|
@ -1,7 +1,3 @@
|
|||
# general ignore patterns
|
||||
*.o
|
||||
|
||||
# ignore compiled executables
|
||||
## set 1
|
||||
set1/base64
|
||||
*/bin/*
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*
|
||||
* base64.c: reads in raw bytes and converts to/outputs in base64 format
|
||||
|
@ -13,7 +13,7 @@
|
|||
//#define b64_output b64_out_debug
|
||||
|
||||
size_t out_index = 0;
|
||||
char out_buf[BUF_LEN];
|
||||
uint8_t out_buf[BUF_LEN];
|
||||
|
||||
void b64_out_debug(char c)
|
||||
{
|
||||
|
@ -25,19 +25,19 @@ void b64_out_debug(char c)
|
|||
char *b64_alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
||||
|
||||
|
||||
void main(int argc, char *argv[])
|
||||
int main()
|
||||
{
|
||||
char c, spoke = 0;
|
||||
int tmp, alph_index = 0;
|
||||
int8_t c;
|
||||
uint8_t tmp = 0, alph_index = 0, spoke = 0;
|
||||
|
||||
while ((c = getchar()) != EOF) {
|
||||
switch (spoke) {
|
||||
case 0:
|
||||
alph_index = c >> 2; // get last 6 bits
|
||||
tmp = (c & 0x03) << 4; // extract last 2 bits
|
||||
alph_index = c >> 2; // get last 6 bits
|
||||
tmp = (c & 0x03) << 4; // extract last 2 bits
|
||||
break;
|
||||
case 1:
|
||||
alph_index = c >> 4; // get last 4 bits
|
||||
alph_index = c >> 4; // get last 4 bits
|
||||
alph_index += tmp;
|
||||
tmp = (c & 0x0f) << 2;
|
||||
break;
|
||||
|
@ -64,5 +64,7 @@ void main(int argc, char *argv[])
|
|||
}
|
||||
|
||||
putchar('\n');
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue