2004-11-22 00:33:12 +00:00
|
|
|
#include <unistd.h>
|
2002-09-06 18:00:07 +00:00
|
|
|
#include <string.h>
|
|
|
|
#include "buffer.h"
|
|
|
|
#include "textcode.h"
|
2004-01-06 23:35:06 +00:00
|
|
|
#include "havealloca.h"
|
2002-09-06 18:00:07 +00:00
|
|
|
|
2005-03-08 14:56:36 +00:00
|
|
|
void b64encode(const char* c,long len) {
|
|
|
|
char* buf=alloca(len*2+4);
|
|
|
|
buffer_put(buffer_1,buf,fmt_base64(buf,c,len));
|
2004-11-22 00:33:12 +00:00
|
|
|
if (isatty(1))
|
|
|
|
buffer_putnlflush(buffer_1);
|
|
|
|
else
|
|
|
|
buffer_flush(buffer_1);
|
2002-09-06 18:00:07 +00:00
|
|
|
}
|
|
|
|
|
2004-11-25 21:52:35 +00:00
|
|
|
int main(int argc,char* argv[]) {
|
2002-09-06 18:00:07 +00:00
|
|
|
int i;
|
|
|
|
for (i=1; i<argc; ++i) {
|
2005-03-08 14:56:36 +00:00
|
|
|
b64encode(argv[i],strlen(argv[i]));
|
2002-09-06 18:00:07 +00:00
|
|
|
}
|
|
|
|
if (argc<2) {
|
|
|
|
char src[1024];
|
2003-01-16 00:31:55 +00:00
|
|
|
int len;
|
|
|
|
while ((len=read(0,src,sizeof(src)-1))>0) {
|
|
|
|
if (len==-1) return(1);
|
2005-03-08 14:56:36 +00:00
|
|
|
b64encode(src,len);
|
2003-01-16 00:31:55 +00:00
|
|
|
}
|
2002-09-06 18:00:07 +00:00
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|