| 996 | } |
| 997 | |
| 998 | void status_inc(struct ph_param *params, const struct ph_options *options) |
| 999 | { |
| 1000 | params->offset=PH_INVALID_OFFSET; |
| 1001 | switch(params->status) |
| 1002 | { |
| 1003 | case STATUS_UNFORMAT: |
| 1004 | params->status=STATUS_FIND_OFFSET; |
| 1005 | break; |
| 1006 | case STATUS_FIND_OFFSET: |
| 1007 | params->status=(options->mode_ext2>0?STATUS_EXT2_ON:STATUS_EXT2_OFF); |
| 1008 | params->file_nbr=0; |
| 1009 | break; |
| 1010 | case STATUS_EXT2_ON: |
| 1011 | if(options->paranoid>1) |
| 1012 | params->status=STATUS_EXT2_ON_BF; |
| 1013 | else if(options->paranoid==1 && options->keep_corrupted_file>0) |
| 1014 | params->status=STATUS_EXT2_ON_SAVE_EVERYTHING; |
| 1015 | else |
| 1016 | params->status=STATUS_QUIT; |
| 1017 | break; |
| 1018 | case STATUS_EXT2_ON_BF: |
| 1019 | if(options->keep_corrupted_file>0) |
| 1020 | params->status=STATUS_EXT2_ON_SAVE_EVERYTHING; |
| 1021 | else |
| 1022 | params->status=STATUS_QUIT; |
| 1023 | break; |
| 1024 | case STATUS_EXT2_OFF: |
| 1025 | if(options->paranoid>1) |
| 1026 | params->status=STATUS_EXT2_OFF_BF; |
| 1027 | else if(options->paranoid==1 && options->keep_corrupted_file>0) |
| 1028 | params->status=STATUS_EXT2_OFF_SAVE_EVERYTHING; |
| 1029 | else |
| 1030 | params->status=STATUS_QUIT; |
| 1031 | break; |
| 1032 | case STATUS_EXT2_OFF_BF: |
| 1033 | if(options->keep_corrupted_file>0) |
| 1034 | params->status=STATUS_EXT2_OFF_SAVE_EVERYTHING; |
| 1035 | else |
| 1036 | params->status=STATUS_QUIT; |
| 1037 | break; |
| 1038 | default: |
| 1039 | params->status=STATUS_QUIT; |
| 1040 | break; |
| 1041 | } |
| 1042 | } |
| 1043 | |
| 1044 | list_part_t *init_list_part(disk_t *disk, const struct ph_options *options) |
| 1045 | { |