Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
iputil.c
00001 #include "iputil.h" 00002 00003 unsigned int base64enc_len(const char *str) { 00004 return (((strlen(str)-1)/3)+1)<<2; 00005 } 00006 00007 void base64enc(const char *input, unsigned int length, char *output) { 00008 static const char base64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; 00009 unsigned int c, c1, c2, c3; 00010 for(unsigned int i = 0, j = 0; i<length; i+=3,j+=4) { 00011 c1 = ((((unsigned char)*((unsigned char *)&input[i])))); 00012 c2 = (length>i+1)?((((unsigned char)*((unsigned char *)&input[i+1])))):0; 00013 c3 = (length>i+2)?((((unsigned char)*((unsigned char *)&input[i+2])))):0; 00014 00015 c = ((c1 & 0xFC) >> 2); 00016 output[j+0] = base64[c]; 00017 c = ((c1 & 0x03) << 4) | ((c2 & 0xF0) >> 4); 00018 output[j+1] = base64[c]; 00019 c = ((c2 & 0x0F) << 2) | ((c3 & 0xC0) >> 6); 00020 output[j+2] = (length>i+1)?base64[c]:'='; 00021 c = (c3 & 0x3F); 00022 output[j+3] = (length>i+2)?base64[c]:'='; 00023 } 00024 output[(((length-1)/3)+1)<<2] = '\0'; 00025 }
Generated on Wed Jul 13 2022 07:13:43 by
1.7.2