if((i & 3) == 3) {
if(triplet & 0xff000000U)
return 0;
- udst[0] = triplet & 0xff; triplet >>= 8;
- udst[1] = triplet & 0xff; triplet >>= 8;
+ udst[0] = triplet & 0xff;
+ triplet >>= 8;
+ udst[1] = triplet & 0xff;
+ triplet >>= 8;
udst[2] = triplet;
triplet = 0;
udst += 3;
if(triplet & 0xff000000U)
return 0;
if((i & 3) == 3) {
- udst[0] = triplet & 0xff; triplet >>= 8;
+ udst[0] = triplet & 0xff;
+ triplet >>= 8;
udst[1] = triplet & 0xff;
return i / 4 * 3 + 2;
} else if((i & 3) == 2) {
udst[0] = triplet & 0xff;
return i / 4 * 3 + 1;
- } else {
+ } else
return i / 4 * 3;
- }
}
static int b64encode_internal(const void *src, char *dst, int length, const char *alphabet) {
int di = length / 3 * 4;
switch(length % 3) {
- case 2:
- triplet = usrc[si] | usrc[si + 1] << 8;
- dst[di] = alphabet[triplet & 63]; triplet >>= 6;
- dst[di + 1] = alphabet[triplet & 63]; triplet >>= 6;
- dst[di + 2] = alphabet[triplet];
- dst[di + 3] = 0;
- length = di + 2;
- break;
- case 1:
- triplet = usrc[si];
- dst[di] = alphabet[triplet & 63]; triplet >>= 6;
- dst[di + 1] = alphabet[triplet];
- dst[di + 2] = 0;
- length = di + 1;
- break;
- default:
- dst[di] = 0;
- length = di;
- break;
+ case 2:
+ triplet = usrc[si] | usrc[si + 1] << 8;
+ dst[di] = alphabet[triplet & 63];
+ triplet >>= 6;
+ dst[di + 1] = alphabet[triplet & 63];
+ triplet >>= 6;
+ dst[di + 2] = alphabet[triplet];
+ dst[di + 3] = 0;
+ length = di + 2;
+ break;
+ case 1:
+ triplet = usrc[si];
+ dst[di] = alphabet[triplet & 63];
+ triplet >>= 6;
+ dst[di + 1] = alphabet[triplet];
+ dst[di + 2] = 0;
+ length = di + 1;
+ break;
+ default:
+ dst[di] = 0;
+ length = di;
+ break;
}
while(si > 0) {
di -= 4;
si -= 3;
triplet = usrc[si] | usrc[si + 1] << 8 | usrc[si + 2] << 16;
- dst[di] = alphabet[triplet & 63]; triplet >>= 6;
- dst[di + 1] = alphabet[triplet & 63]; triplet >>= 6;
- dst[di + 2] = alphabet[triplet & 63]; triplet >>= 6;
+ dst[di] = alphabet[triplet & 63];
+ triplet >>= 6;
+ dst[di + 1] = alphabet[triplet & 63];
+ triplet >>= 6;
+ dst[di + 2] = alphabet[triplet & 63];
+ triplet >>= 6;
dst[di + 3] = alphabet[triplet];
}
ptr = buf + sprintf(buf, "(%d) ", err);
- if (!FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), ptr, sizeof(buf) - (ptr - buf), NULL)) {
+ if(!FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), ptr, sizeof(buf) - (ptr - buf), NULL))
strncpy(buf, "(unable to format errormessage)", sizeof(buf));
- };
+ ;
if((ptr = strchr(buf, '\r')))
*ptr = '\0';
unsigned int bitfield_to_int(const void *bitfield, size_t size) {
unsigned int value = 0;
- if(size > sizeof value)
- size = sizeof value;
+ if(size > sizeof(value))
+ size = sizeof(value);
memcpy(&value, bitfield, size);
return value;
}
-
-/* Write IP address from sockaddr to string.
- * Returns NULL on error.
- */
-char *get_ip_str(const struct sockaddr *sa, char *s, size_t maxlen)
-{
- switch(sa->sa_family) {
- case AF_INET:
- inet_ntop(AF_INET, &(((struct sockaddr_in *)sa)->sin_addr),
- s, maxlen);
- break;
-
- case AF_INET6:
- inet_ntop(AF_INET6, &(((struct sockaddr_in6 *)sa)->sin6_addr),
- s, maxlen);
- break;
-
- default:
- strncpy(s, "Unknown AF", maxlen);
- return NULL;
- }
-
- return s;
-}
-
-/* Write port from sockaddr to string.
- * Returns NULL on error.
- */
-char *get_port_str(const struct sockaddr *sa, char *s, size_t maxlen)
-{
- switch(sa->sa_family) {
- case AF_INET:
- snprintf(s, maxlen, "%d",
- ntohs(((struct sockaddr_in*)sa)->sin_port));
- break;
-
- case AF_INET6:
- snprintf(s, maxlen, "%d",
- ntohs(((struct sockaddr_in6*)sa)->sin6_port));
- break;
-
- default:
- strncpy(s, "Unknown AF", maxlen);
- return NULL;
- }
-
- return s;
-}