107 else |
110 else |
108 nbytesdecoded -= 1; |
111 nbytesdecoded -= 1; |
109 } |
112 } |
110 |
113 |
111 return nbytesdecoded; |
114 return nbytesdecoded; |
|
115 } |
|
116 |
|
117 char* util_base64encode(char *in, size_t len) { |
|
118 BIO *b; |
|
119 BIO *e; |
|
120 BUF_MEM *mem; |
|
121 |
|
122 e = BIO_new(BIO_f_base64()); |
|
123 b = BIO_new(BIO_s_mem()); |
|
124 BIO_set_flags(e, BIO_FLAGS_BASE64_NO_NL); |
|
125 |
|
126 e = BIO_push(e, b); |
|
127 BIO_write(e, in, len); |
|
128 BIO_flush(e); |
|
129 |
|
130 BIO_get_mem_ptr(e, &mem); |
|
131 char *out = malloc(mem->length + 1); |
|
132 memcpy(out, mem->data, mem->length); |
|
133 out[mem->length] = '\0'; |
|
134 |
|
135 BIO_free_all(e); |
|
136 |
|
137 return out; |
112 } |
138 } |
113 |
139 |
114 |
140 |
115 /* --------------------------- util_env_create ---------------------------- */ |
141 /* --------------------------- util_env_create ---------------------------- */ |
116 |
142 |