]>
Commit | Line | Data |
---|---|---|
1 | //----------------------------------------------------------------------------- | |
2 | // Copyright (C) 2010 iZsh <izsh at fail0verflow.com> | |
3 | // | |
4 | // This code is licensed to you under the terms of the GNU GPL, version 2 or, | |
5 | // at your option, any later version. See the LICENSE.txt file for the text of | |
6 | // the license. | |
7 | //----------------------------------------------------------------------------- | |
8 | // utilities | |
9 | //----------------------------------------------------------------------------- | |
10 | ||
11 | #include "util.h" | |
12 | ||
13 | void print_hex(const uint8_t * data, const size_t len) | |
14 | { | |
15 | size_t i; | |
16 | ||
17 | for (i=0; i < len; i++) | |
18 | printf("%02x ", data[i]); | |
19 | ||
20 | printf("\n"); | |
21 | } | |
22 | ||
23 | char * sprint_hex(const uint8_t * data, const size_t len) { | |
24 | static char buf[1024]; | |
25 | char * tmp = buf; | |
26 | size_t i; | |
27 | ||
28 | for (i=0; i < len && i < 1024/3; i++, tmp += 3) | |
29 | sprintf(tmp, "%02x ", data[i]); | |
30 | ||
31 | return buf; | |
32 | } | |
33 | ||
34 | void num_to_bytes(uint64_t n, size_t len, uint8_t* dest) | |
35 | { | |
36 | while (len--) { | |
37 | dest[len] = (uint8_t) n; | |
38 | n >>= 8; | |
39 | } | |
40 | } | |
41 | ||
42 | uint64_t bytes_to_num(uint8_t* src, size_t len) | |
43 | { | |
44 | uint64_t num = 0; | |
45 | while (len--) | |
46 | { | |
47 | num = (num << 8) | (*src); | |
48 | src++; | |
49 | } | |
50 | return num; | |
51 | } |