| 299 | #endif |
| 300 | |
| 301 | static int interface_part_bad_log(disk_t *disk_car, list_part_t *list_part) |
| 302 | { |
| 303 | uint64_t disk_size=disk_car->disk_size; |
| 304 | if(list_part==NULL) |
| 305 | return 1; |
| 306 | { |
| 307 | list_part_t *parts; |
| 308 | for(parts=list_part;parts!=NULL;parts=parts->next) |
| 309 | { |
| 310 | if(disk_size<parts->part->part_offset+parts->part->part_size-1) |
| 311 | disk_size=parts->part->part_offset+parts->part->part_size-1; |
| 312 | } |
| 313 | } |
| 314 | log_warning("%s\n",disk_car->description(disk_car)); |
| 315 | log_warning("Check the hard disk size: HD jumper settings, BIOS detection...\n"); |
| 316 | #if defined(__CYGWIN__) || defined(__MINGW32__) |
| 317 | if(disk_car->disk_size<=((uint64_t)1<<(28-1)) && disk_size>=((uint64_t)1<<(28-1))) |
| 318 | { |
| 319 | log_warning("Hint: update Windows to support LBA48 (minimum: W2K SP4 or XP SP1)\n"); |
| 320 | } |
| 321 | #endif |
| 322 | { |
| 323 | char buffer_disk_size[100]; |
| 324 | char buffer_disk_size_found[100]; |
| 325 | size_to_unit(disk_car->disk_size, buffer_disk_size); |
| 326 | size_to_unit(disk_size, buffer_disk_size_found); |
| 327 | log_warning("The hard disk (%s) seems too small! (< %s)\n", |
| 328 | buffer_disk_size, buffer_disk_size_found); |
| 329 | } |
| 330 | if(list_part->next==NULL) |
| 331 | { |
| 332 | log_warning("The following partition can't be recovered:\n"); |
| 333 | } else { |
| 334 | log_warning("The following partitions can't be recovered:\n"); |
| 335 | } |
| 336 | { |
| 337 | list_part_t *parts; |
| 338 | for(parts=list_part;parts!=NULL;parts=parts->next) |
| 339 | log_partition(disk_car,parts->part); |
| 340 | } |
| 341 | return 0; |
| 342 | } |
| 343 | |
| 344 | #ifdef HAVE_NCURSES |
| 345 | static void warning_geometry_ncurses(disk_t *disk_car, const unsigned int recommanded_heads_per_cylinder) |
no test coverage detected