-rw-r--r-- | src/eyetil.cc | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/src/eyetil.cc b/src/eyetil.cc index 5bceec7..5489d7b 100644 --- a/src/eyetil.cc +++ b/src/eyetil.cc | |||
@@ -154,50 +154,41 @@ std::string tmpdir_t::get_file(const std::string& f) { | |||
154 | 154 | ||
155 | tarchive_t::tarchive_t(const char *fn) : a(archive_read_new()), e(0) { | 155 | tarchive_t::tarchive_t(const char *fn) : a(archive_read_new()), e(0) { |
156 | if(!a) throw std::runtime_error("failed to archive_read_new()"); | 156 | if(!a) throw std::runtime_error("failed to archive_read_new()"); |
157 | if(archive_read_support_format_tar(a)) { | 157 | if(archive_read_support_format_tar(a)) { |
158 | archive_read_finish(a); | 158 | archive_read_finish(a); |
159 | throw std::runtime_error("failed to archive_read_support_format_tar()"); | 159 | throw std::runtime_error("failed to archive_read_support_format_tar()"); |
160 | } | 160 | } |
161 | if(archive_read_open_filename(a,fn,16384)) { | 161 | if(archive_read_open_filename(a,fn,16384)) { |
162 | archive_read_finish(a); | 162 | archive_read_finish(a); |
163 | throw std::runtime_error("failed to archive_read_open_memory()"); | 163 | throw std::runtime_error("failed to archive_read_open_memory()"); |
164 | } | 164 | } |
165 | } | 165 | } |
166 | tarchive_t::~tarchive_t() { | 166 | tarchive_t::~tarchive_t() { |
167 | assert(a); | 167 | assert(a); |
168 | archive_read_finish(a); | 168 | archive_read_finish(a); |
169 | } | 169 | } |
170 | 170 | ||
171 | bool tarchive_t::read_next_header() { | 171 | bool tarchive_t::read_next_header() { |
172 | assert(a); | 172 | assert(a); |
173 | return archive_read_next_header(a,&e)==ARCHIVE_OK; | 173 | return archive_read_next_header(a,&e)==ARCHIVE_OK; |
174 | } | 174 | } |
175 | 175 | ||
176 | std::string tarchive_t::entry_pathname() { | 176 | std::string tarchive_t::entry_pathname() { |
177 | assert(a); assert(e); | 177 | assert(a); assert(e); |
178 | return archive_entry_pathname(e); | 178 | return archive_entry_pathname(e); |
179 | } | 179 | } |
180 | 180 | ||
181 | bool tarchive_t::read_data_into_fd(int fd) { | 181 | bool tarchive_t::read_data_into_fd(int fd) { |
182 | assert(a); | 182 | assert(a); |
183 | return archive_read_data_into_fd(a,fd)==ARCHIVE_OK; | 183 | return archive_read_data_into_fd(a,fd)==ARCHIVE_OK; |
184 | } | 184 | } |
185 | 185 | ||
186 | |||
187 | binary_t integrity_digest(const void *ptr,size_t size,const std::string& ukey) { | ||
188 | md5_digester rv; | ||
189 | std::transform( (block512_t*)ptr, ((block512_t*)ptr)+size/sizeof(block512_t), | ||
190 | rv.updater<uint16_t>(), block512_t::tcpcksum ); | ||
191 | rv.update( binary_t(ukey) ); | ||
192 | return rv.final(); | ||
193 | } | ||
194 | |||
195 | mimewrite_tarfile::mimewrite_tarfile(tmpdir_t& d) { | 186 | mimewrite_tarfile::mimewrite_tarfile(tmpdir_t& d) { |
196 | f.open((fn=d.get_file("the-tarfile.tar")).c_str(),std::ios_base::in|std::ios_base::out|std::ios_base::trunc|std::ios_base::binary); | 187 | f.open((fn=d.get_file("the-tarfile.tar")).c_str(),std::ios_base::in|std::ios_base::out|std::ios_base::trunc|std::ios_base::binary); |
197 | } | 188 | } |
198 | mimewrite_tarfile::~mimewrite_tarfile() { | 189 | mimewrite_tarfile::~mimewrite_tarfile() { |
199 | unlink(fn.c_str()); | 190 | unlink(fn.c_str()); |
200 | } | 191 | } |
201 | int mimewrite_tarfile::write(const char *buf,size_t len) { | 192 | int mimewrite_tarfile::write(const char *buf,size_t len) { |
202 | return f.write(buf,len) ? (idigest.update(buf,len),SOAP_OK) : SOAP_ERR; | 193 | return f.write(buf,len) ? (idigest.update(buf,len),SOAP_OK) : SOAP_ERR; |
203 | } | 194 | } |