677 66,66,66,66,66,66 |
680 66,66,66,66,66,66 |
678 }; |
681 }; |
679 char* util_base64decode_len(const char* in, int *outlen) { |
682 char* util_base64decode_len(const char* in, int *outlen) { |
680 /* code is mostly from wikibooks */ |
683 /* code is mostly from wikibooks */ |
681 |
684 |
|
685 if(!in) { |
|
686 *outlen = 0; |
|
687 return NULL; |
|
688 } |
|
689 |
682 size_t inlen = strlen(in); |
690 size_t inlen = strlen(in); |
683 size_t bufsize = (inlen*3) / 4; |
691 size_t bufsize = (inlen*3) / 4; |
684 char *outbuf = malloc(bufsize+1); |
692 char *outbuf = malloc(bufsize+1); |
685 *outlen = -1; |
693 *outlen = -1; |
686 |
694 |