@@ -46,27 +49,31 @@ int bin_to_base64(const char* src, size_t len_src, char* dst, size_t len_dst, en
...
@@ -46,27 +49,31 @@ int bin_to_base64(const char* src, size_t len_src, char* dst, size_t len_dst, en
return-1;
return-1;
}
}
dst=malloc(len_dst);
*dst=(char*)malloc(len_dst+1);
dst[len_dst]='\0';
if(*dst==NULL){
return-1;
}
*dst[len_dst]='\0';
for(i=0,j=0;i<len_src;i+=3,j+=4){
for(i=0,j=0;i<len_src;i+=3,j+=4){
v=src[i];
v=src[i];
v=i+1<len_src?v<<8|src[i+1]:v<<8;
v=i+1<len_src?v<<8|src[i+1]:v<<8;
v=i+2<len_src?v<<8|src[i+2]:v<<8;
v=i+2<len_src?v<<8|src[i+2]:v<<8;
dst[j]=used_set[(v>>18)&0x3F];
*dst[j]=used_set[(v>>18)&0x3F];
dst[j+1]=used_set[(v>>12)&0x3F];
*dst[j+1]=used_set[(v>>12)&0x3F];//envoie un segFault, cela doit être dû à l'affectation edit: j'ai compris que c'est à cause du pointeur, *dst[1] envoie au premier charactère de src