|
@@ -107,18 +107,7 @@ static char* FAST_FUNC parse_url(char *url, char **user, char **pass)
|
|
|
}
|
|
|
*/
|
|
|
|
|
|
-void FAST_FUNC encode_base64(char *fname, const char *text, const char *eol)
|
|
|
-{
|
|
|
- size_t len = len;
|
|
|
- if (text) {
|
|
|
- // though we do not call uuencode(NULL, NULL) explicitly
|
|
|
- // still we do not want to break things suddenly
|
|
|
- len = strlen(text);
|
|
|
- }
|
|
|
- encode_n_base64(fname, text, len, eol);
|
|
|
-}
|
|
|
-
|
|
|
-void FAST_FUNC encode_n_base64(char *fname, const char *text, size_t len, const char *eol)
|
|
|
+static void encode_n_base64(const char *fname, const char *text, size_t len)
|
|
|
{
|
|
|
enum {
|
|
|
SRC_BUF_SIZE = 57, /* This *MUST* be a multiple of 3 */
|
|
@@ -130,10 +119,9 @@ void FAST_FUNC encode_n_base64(char *fname, const char *text, size_t len, const
|
|
|
char dst_buf[DST_BUF_SIZE + 1];
|
|
|
|
|
|
if (fname) {
|
|
|
- fp = (NOT_LONE_DASH(fname)) ? xfopen_for_read(fname) : (FILE *)text;
|
|
|
+ fp = (NOT_LONE_DASH(fname)) ? xfopen_for_read(fname) : stdin;
|
|
|
src_buf = src;
|
|
|
- } else if (!text)
|
|
|
- return;
|
|
|
+ }
|
|
|
|
|
|
while (1) {
|
|
|
size_t size;
|
|
@@ -151,7 +139,7 @@ void FAST_FUNC encode_n_base64(char *fname, const char *text, size_t len, const
|
|
|
// encode the buffer we just read in
|
|
|
bb_uuencode(dst_buf, src_buf, size, bb_uuenc_tbl_base64);
|
|
|
if (fname) {
|
|
|
- puts(eol);
|
|
|
+ puts("");
|
|
|
} else {
|
|
|
src_buf += size;
|
|
|
len -= size;
|
|
@@ -163,6 +151,21 @@ void FAST_FUNC encode_n_base64(char *fname, const char *text, size_t len, const
|
|
|
#undef src_buf
|
|
|
}
|
|
|
|
|
|
+void FAST_FUNC printstr_base64(const char *text)
|
|
|
+{
|
|
|
+ encode_n_base64(NULL, text, strlen(text));
|
|
|
+}
|
|
|
+
|
|
|
+void FAST_FUNC printbuf_base64(const char *text, unsigned len)
|
|
|
+{
|
|
|
+ encode_n_base64(NULL, text, len);
|
|
|
+}
|
|
|
+
|
|
|
+void FAST_FUNC printfile_base64(const char *fname)
|
|
|
+{
|
|
|
+ encode_n_base64(fname, NULL, 0);
|
|
|
+}
|
|
|
+
|
|
|
/*
|
|
|
* get username and password from a file descriptor
|
|
|
*/
|