#include #include #include #include int main(int ac, char **av) { char sample[] = "abcdefghijklmnopqrstuvwxyz1234567890" "abcdefghijklmnopqrstuvwxyz1234567890" "abcdefghijklmnopqrstuvwxyz1234567890" "abcdefghijklmnopqrstuvwxyz1234567890" "abcdefghijklmnopqrstuvwxyz1234567890" "abcdefghijklmnopqrstuvwxyz1234567890" "abcdefghijklmnopqrstuvwxyz1234567890"; char *str; size_t slen; int i; /* * Encoder check. */ for(i = 0; i < sizeof(sample)-1; i++) { slen = i; str = base64_encode(sample, &slen); printf("%d=[%s]:%d\n", i, str, slen); } /* * Decoder robustness check. */ str = "YW Jj\nZ G Vm"; slen = strlen(str); str = base64_decode(str, &slen); assert(!strcmp(str, "abcdef") && slen == 6); printf("check: [%s]:%d\n", str, slen); if(ac > 1) str = av[1]; else str = "=?koi8-r?b?1MXT1C=?="; printf("[%s] = [%s]\n", str, mime_word_decode(str, NULL)); return 0; }