equal
deleted
inserted
replaced
103 } |
103 } |
104 |
104 |
105 /* Compare current hash with hash from file byte by byte. */ |
105 /* Compare current hash with hash from file byte by byte. */ |
106 int CheckFilehash(void) |
106 int CheckFilehash(void) |
107 { |
107 { |
108 int k; |
108 int k,ret; |
109 int offset = sizeof(retain_info.retain_size); |
109 int offset = sizeof(retain_info.retain_size); |
110 |
110 |
111 rewind(retain_buffer); |
111 rewind(retain_buffer); |
112 fseek(retain_buffer, offset , SEEK_SET); |
112 fseek(retain_buffer, offset , SEEK_SET); |
113 |
113 |
114 uint32_t size; |
114 uint32_t size; |
115 fread(&size, sizeof(size), 1, retain_buffer); |
115 ret = fread(&size, sizeof(size), 1, retain_buffer); |
116 if (size != retain_info.hash_size) |
116 if (size != retain_info.hash_size) |
117 return 0; |
117 return 0; |
118 |
118 |
119 for(k = 0; k < retain_info.hash_size; k++){ |
119 for(k = 0; k < retain_info.hash_size; k++){ |
120 uint8_t file_digit; |
120 uint8_t file_digit; |
121 fread(&file_digit, sizeof(char), 1, retain_buffer); |
121 ret = fread(&file_digit, sizeof(char), 1, retain_buffer); |
122 if (file_digit != *(retain_info.hash+k)) |
122 if (file_digit != *(retain_info.hash+k)) |
123 return 0; |
123 return 0; |
124 } |
124 } |
125 |
125 |
126 return 1; |
126 return 1; |
315 fwrite(p, count, 1, retain_buffer); |
315 fwrite(p, count, 1, retain_buffer); |
316 } |
316 } |
317 |
317 |
318 void Remind(unsigned int offset, unsigned int count, void *p) |
318 void Remind(unsigned int offset, unsigned int count, void *p) |
319 { |
319 { |
|
320 int ret; |
320 /* Remind variable from file. */ |
321 /* Remind variable from file. */ |
321 fseek(retain_buffer, retain_info.header_offset+offset, SEEK_SET); |
322 fseek(retain_buffer, retain_info.header_offset+offset, SEEK_SET); |
322 fread((void *)p, count, 1, retain_buffer); |
323 ret = fread((void *)p, count, 1, retain_buffer); |
323 } |
324 } |
324 #endif // !HAVE_RETAIN |
325 #endif // !HAVE_RETAIN |