Lines Matching +full:src +full:- +full:2
8 * (c) NLnet Labs, 2004-2006
32 while (table->name != NULL) { in ldns_lookup_by_name()
33 if (strcasecmp(name, table->name) == 0) in ldns_lookup_by_name()
43 while (table->name != NULL) { in ldns_lookup_by_id()
44 if (table->id == id) in ldns_lookup_by_id()
58 return (int) (bits[index / 8] & (1 << (7 - index % 8))); in ldns_get_bit()
93 case '2': return 2; in ldns_hexdigit_to_int()
108 return -1; in ldns_hexdigit_to_int()
118 case 2: return '2'; in ldns_int_to_hexdigit()
143 return -1; in ldns_hexstring_to_data()
146 if (strlen(str) % 2 != 0) { in ldns_hexstring_to_data()
147 return -2; in ldns_hexstring_to_data()
150 for (i = 0; i < strlen(str) / 2; i++) { in ldns_hexstring_to_data()
152 16 * (uint8_t) ldns_hexdigit_to_int(str[i*2]) + in ldns_hexstring_to_data()
153 (uint8_t) ldns_hexdigit_to_int(str[i*2 + 1]); in ldns_hexstring_to_data()
171 #define LDNS_DIV(x,y) (((x) % (y) < 0) ? ((x) / (y) - 1 ) : ((x) / (y)))
183 --y1; in leap_days()
184 --y2; in leap_days()
185 return (LDNS_DIV(y2, 4) - LDNS_DIV(y1, 4)) - in leap_days()
186 (LDNS_DIV(y2, 100) - LDNS_DIV(y1, 100)) + in leap_days()
187 (LDNS_DIV(y2, 400) - LDNS_DIV(y1, 400)); in leap_days()
196 int year = 1900 + tm->tm_year; in ldns_mktime_from_utc()
197 time_t days = 365 * ((time_t) year - 1970) + leap_days(1970, year); in ldns_mktime_from_utc()
203 for (i = 0; i < tm->tm_mon; ++i) { in ldns_mktime_from_utc()
206 if (tm->tm_mon > 1 && is_leap_year(year)) { in ldns_mktime_from_utc()
209 days += tm->tm_mday - 1; in ldns_mktime_from_utc()
211 hours = days * 24 + tm->tm_hour; in ldns_mktime_from_utc()
212 minutes = hours * 60 + tm->tm_min; in ldns_mktime_from_utc()
213 seconds = minutes * 60 + tm->tm_sec; in ldns_mktime_from_utc()
234 days -= (new_year - year) * 365; in ldns_year_and_yday_from_days_since_epoch()
235 days -= leap_days(year, new_year); in ldns_year_and_yday_from_days_since_epoch()
238 result->tm_year = year; in ldns_year_and_yday_from_days_since_epoch()
239 result->tm_yday = (int) days; in ldns_year_and_yday_from_days_since_epoch()
250 int idays = result->tm_yday; in ldns_mon_and_mday_from_year_and_yday()
251 const int *mon_lengths = is_leap_year(result->tm_year) ? in ldns_mon_and_mday_from_year_and_yday()
254 result->tm_mon = 0; in ldns_mon_and_mday_from_year_and_yday()
255 while (idays >= mon_lengths[result->tm_mon]) { in ldns_mon_and_mday_from_year_and_yday()
256 idays -= mon_lengths[result->tm_mon++]; in ldns_mon_and_mday_from_year_and_yday()
258 result->tm_mday = idays + 1; in ldns_mon_and_mday_from_year_and_yday()
264 result->tm_wday = 4 /* 1-1-1970 was a thursday */ in ldns_wday_from_year_and_yday()
265 + LDNS_MOD((result->tm_year - 1970), 7) * LDNS_MOD(365, 7) in ldns_wday_from_year_and_yday()
266 + leap_days(1970, result->tm_year) in ldns_wday_from_year_and_yday()
267 + result->tm_yday; in ldns_wday_from_year_and_yday()
268 result->tm_wday = LDNS_MOD(result->tm_wday, 7); in ldns_wday_from_year_and_yday()
269 if (result->tm_wday < 0) { in ldns_wday_from_year_and_yday()
270 result->tm_wday += 7; in ldns_wday_from_year_and_yday()
277 result->tm_isdst = 0; in ldns_gmtime64_r()
278 result->tm_sec = (int) LDNS_MOD(clock, 60); in ldns_gmtime64_r()
280 result->tm_min = (int) LDNS_MOD(clock, 60); in ldns_gmtime64_r()
282 result->tm_hour = (int) LDNS_MOD(clock, 24); in ldns_gmtime64_r()
288 result->tm_year -= 1900; in ldns_gmtime64_r()
299 int32_t offset = (int32_t) ((uint32_t) time - (uint32_t) now); in ldns_serial_arithmetics_time()
415 if (RAND_bytes((unsigned char*)&rid, 2) != 1) { in ldns_get_random()
437 rounds = (len / 2) + 1; in ldns_bubblebabble()
443 if ((i + 1 < rounds) || (len % 2 != 0)) { in ldns_bubblebabble()
444 idx0 = (((((size_t)(data[2 * i])) >> 6) & 3) + in ldns_bubblebabble()
446 idx1 = (((size_t)(data[2 * i])) >> 2) & 15; in ldns_bubblebabble()
447 idx2 = ((((size_t)(data[2 * i])) & 3) + in ldns_bubblebabble()
453 idx3 = (((size_t)(data[(2 * i) + 1])) >> 4) & 15; in ldns_bubblebabble()
454 idx4 = (((size_t)(data[(2 * i) + 1]))) & 15; in ldns_bubblebabble()
456 retval[j++] = '-'; in ldns_bubblebabble()
459 ((((size_t)(data[2 * i])) * 7) + in ldns_bubblebabble()
460 ((size_t)(data[(2 * i) + 1])))) % 36; in ldns_bubblebabble()
480 int ldns_b64_ntop(const uint8_t* src, size_t srclength,
483 return b64_ntop(src, srclength, target, targsize);
491 int ldns_b64_pton(const char* src, uint8_t *target, size_t targsize) in ldns_b64_pton() argument
493 return b64_pton(src, target, targsize); in ldns_b64_pton()
499 ldns_b32_ntop_base(const uint8_t* src, size_t src_sz, in ldns_b32_ntop_base() argument
517 return -1; in ldns_b32_ntop_base()
525 dst[0] = b32[(src[0] ) >> 3]; in ldns_b32_ntop_base()
528 dst[1] = b32[(src[0] & 0x07) << 2 | src[1] >> 6]; in ldns_b32_ntop_base()
531 dst[2] = b32[(src[1] & 0x3e) >> 1]; in ldns_b32_ntop_base()
534 dst[3] = b32[(src[1] & 0x01) << 4 | src[2] >> 4]; in ldns_b32_ntop_base()
537 dst[4] = b32[(src[2] & 0x0f) << 1 | src[3] >> 7]; in ldns_b32_ntop_base()
540 dst[5] = b32[(src[3] & 0x7c) >> 2]; in ldns_b32_ntop_base()
543 dst[6] = b32[(src[3] & 0x03) << 3 | src[4] >> 5]; in ldns_b32_ntop_base()
546 dst[7] = b32[(src[4] & 0x1f) ]; in ldns_b32_ntop_base()
548 src_sz -= 5; in ldns_b32_ntop_base()
549 src += 5; in ldns_b32_ntop_base()
555 dst[6] = b32[(src[3] & 0x03) << 3]; in ldns_b32_ntop_base()
558 dst[5] = b32[(src[3] & 0x7c) >> 2]; in ldns_b32_ntop_base()
561 c = src[3] >> 7 ; in ldns_b32_ntop_base()
563 case 3: dst[4] = b32[(src[2] & 0x0f) << 1 | c]; in ldns_b32_ntop_base()
566 c = src[2] >> 4 ; in ldns_b32_ntop_base()
568 case 2: dst[3] = b32[(src[1] & 0x01) << 4 | c]; in ldns_b32_ntop_base()
571 dst[2] = b32[(src[1] & 0x3e) >> 1]; in ldns_b32_ntop_base()
574 c = src[1] >> 6 ; in ldns_b32_ntop_base()
576 case 1: dst[1] = b32[(src[0] & 0x07) << 2 | c]; in ldns_b32_ntop_base()
579 dst[0] = b32[ src[0] >> 3]; in ldns_b32_ntop_base()
584 case 1: dst[2] = '='; in ldns_b32_ntop_base()
587 case 2: dst[4] = '='; in ldns_b32_ntop_base()
599 ldns_b32_ntop(const uint8_t* src, size_t src_sz, char* dst, size_t dst_sz) in ldns_b32_ntop() argument
601 return ldns_b32_ntop_base(src, src_sz, dst, dst_sz, false, true); in ldns_b32_ntop()
605 ldns_b32_ntop_extended_hex(const uint8_t* src, size_t src_sz, in ldns_b32_ntop_extended_hex() argument
608 return ldns_b32_ntop_base(src, src_sz, dst, dst_sz, true, true); in ldns_b32_ntop_extended_hex()
614 b32_ntop(const uint8_t* src, size_t src_sz, char* dst, size_t dst_sz) in b32_ntop() argument
616 return ldns_b32_ntop_base(src, src_sz, dst, dst_sz, false, true); in b32_ntop()
620 b32_ntop_extended_hex(const uint8_t* src, size_t src_sz, in b32_ntop_extended_hex() argument
623 return ldns_b32_ntop_base(src, src_sz, dst, dst_sz, true, true); in b32_ntop_extended_hex()
629 ldns_b32_pton_base(const char* src, size_t src_sz, in ldns_b32_pton_base() argument
643 ch = *src++; in ldns_b32_pton_base()
644 --src_sz; in ldns_b32_pton_base()
654 buf[i] = (uint8_t)ch - '0'; in ldns_b32_pton_base()
656 buf[i] = (uint8_t)ch - 'a' + 10; in ldns_b32_pton_base()
658 buf[i] = (uint8_t)ch - 'A' + 10; in ldns_b32_pton_base()
660 return -1; in ldns_b32_pton_base()
663 buf[i] = (uint8_t)ch - 'a'; in ldns_b32_pton_base()
665 buf[i] = (uint8_t)ch - 'A'; in ldns_b32_pton_base()
666 else if (ch >= '2' && ch <= '7') in ldns_b32_pton_base()
667 buf[i] = (uint8_t)ch - '2' + 26; in ldns_b32_pton_base()
669 return -1; in ldns_b32_pton_base()
677 return -1; in ldns_b32_pton_base()
681 dst[0] = buf[0] << 3 | buf[1] >> 2; in ldns_b32_pton_base()
686 dst[1] = buf[1] << 6 | buf[2] << 1 | buf[3] >> 4; in ldns_b32_pton_base()
690 dst[2] = buf[3] << 4 | buf[4] >> 1; in ldns_b32_pton_base()
695 dst[3] = buf[4] << 7 | buf[5] << 2 | buf[6] >> 3; in ldns_b32_pton_base()
702 dst_sz -= 5; in ldns_b32_pton_base()
708 if (dst_sz < (i + 1) / 2) in ldns_b32_pton_base()
709 return -1; in ldns_b32_pton_base()
715 dst[3] = buf[4] << 7 | buf[5] << 2 | buf[6] >> 3; in ldns_b32_pton_base()
720 dst[2] = buf[3] << 4 | buf[4] >> 1; in ldns_b32_pton_base()
726 dst[1] = buf[1] << 6 | buf[2] << 1 | buf[3] >> 4; in ldns_b32_pton_base()
729 case 2: /* .....111 11...... ........ ........ ........ */ in ldns_b32_pton_base()
731 dst[0] = buf[0] << 3 | buf[1] >> 2; in ldns_b32_pton_base()
736 return -1; in ldns_b32_pton_base()
738 dst += (i + 1) / 2; in ldns_b32_pton_base()
743 return -1; in ldns_b32_pton_base()
745 /* One down, 8 - i - 1 more to come... */ in ldns_b32_pton_base()
746 for (i = 8 - i - 1; i > 0; i--) { in ldns_b32_pton_base()
750 return -1; in ldns_b32_pton_base()
751 ch = *src++; in ldns_b32_pton_base()
752 src_sz--; in ldns_b32_pton_base()
757 return -1; in ldns_b32_pton_base()
761 return dst - start; in ldns_b32_pton_base()
765 ldns_b32_pton(const char* src, size_t src_sz, uint8_t* dst, size_t dst_sz) in ldns_b32_pton() argument
767 return ldns_b32_pton_base(src, src_sz, dst, dst_sz, false, true); in ldns_b32_pton()
771 ldns_b32_pton_extended_hex(const char* src, size_t src_sz, in ldns_b32_pton_extended_hex() argument
774 return ldns_b32_pton_base(src, src_sz, dst, dst_sz, true, true); in ldns_b32_pton_extended_hex()
780 b32_pton(const char* src, size_t src_sz, uint8_t* dst, size_t dst_sz) in b32_pton() argument
782 return ldns_b32_pton_base(src, src_sz, dst, dst_sz, false, true); in b32_pton()
786 b32_pton_extended_hex(const char* src, size_t src_sz, in b32_pton_extended_hex() argument
789 return ldns_b32_pton_base(src, src_sz, dst, dst_sz, true, true); in b32_pton_extended_hex()