-rw-r--r-- | src/eyetil.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/eyetil.cc b/src/eyetil.cc index 2e6ab7e..11e2fb7 100644 --- a/src/eyetil.cc +++ b/src/eyetil.cc | |||
@@ -17,16 +17,16 @@ | |||
17 | binary_t& binary_t::from_hex(const std::string& h) { | 17 | binary_t& binary_t::from_hex(const std::string& h) { |
18 | std::string::size_type hs = h.length(); | 18 | std::string::size_type hs = h.length(); |
19 | if(hs&1) | 19 | if(hs&1) |
20 | throw std::runtime_error("odd number of characters in hexadecimal number"); | 20 | throw std::runtime_error("odd number of characters in hexadecimal number"); |
21 | int rvs = hs>>1; | 21 | size_t rvs = hs>>1; |
22 | resize(rvs); | 22 | resize(rvs); |
23 | const unsigned char *hp = (const unsigned char*)h.data(); | 23 | const unsigned char *hp = (const unsigned char*)h.data(); |
24 | iterator oi=begin(); | 24 | iterator oi=begin(); |
25 | char t[3] = { 0,0,0 }; | 25 | char t[3] = { 0,0,0 }; |
26 | for(int i=0;i<rvs;++i) { | 26 | for(size_t i=0;i<rvs;++i) { |
27 | t[0]=*(hp++); t[1]=*(hp++); | 27 | t[0]=*(hp++); t[1]=*(hp++); |
28 | *(oi++) = strtol(t,0,16); | 28 | *(oi++) = static_cast<binary_t::value_type>(0xff&strtol(t,0,16)); |
29 | } | 29 | } |
30 | return *this; | 30 | return *this; |
31 | } | 31 | } |
32 | 32 | ||
@@ -53,9 +53,9 @@ std::string binary_t::hex() const { | |||
53 | std::string rv; | 53 | std::string rv; |
54 | rv.reserve((size()<<1)+1); | 54 | rv.reserve((size()<<1)+1); |
55 | char t[3] = {0,0,0}; | 55 | char t[3] = {0,0,0}; |
56 | for(const_iterator i=begin(),ie=end();i!=ie;++i) { | 56 | for(const_iterator i=begin(),ie=end();i!=ie;++i) { |
57 | int rc = snprintf(t,sizeof(t),"%02x",*i); | 57 | size_t rc = snprintf(t,sizeof(t),"%02x",*i); |
58 | assert(rc<sizeof(t)); | 58 | assert(rc<sizeof(t)); |
59 | rv += t; | 59 | rv += t; |
60 | } | 60 | } |
61 | return rv; | 61 | return rv; |
@@ -157,9 +157,9 @@ struct block512_t { | |||
157 | 157 | ||
158 | static uint16_t tcpcksum(block512_t& data) { | 158 | static uint16_t tcpcksum(block512_t& data) { |
159 | uint32_t sum = std::accumulate(data.data,data.data+words,0); | 159 | uint32_t sum = std::accumulate(data.data,data.data+words,0); |
160 | while(uint32_t hw = sum>>16) sum = (sum&0xffff)+hw; | 160 | while(uint32_t hw = sum>>16) sum = (sum&0xffff)+hw; |
161 | return ~sum; | 161 | return 0xffff&~sum; |
162 | } | 162 | } |
163 | 163 | ||
164 | }; | 164 | }; |
165 | #pragma pack() | 165 | #pragma pack() |