diff options
author | Christophe Grenier <[email protected]> | 2007-12-06 00:29:52 +0100 |
---|---|---|
committer | Christophe Grenier <[email protected]> | 2007-12-06 00:29:52 +0100 |
commit | f51aa191c2be32b989b4ddb5fee31b8bfd75edf5 (patch) | |
tree | bfaf4e746da8d6bd071af09d4d0e5a0ad6a56884 /src/testdisk.c | |
parent | 980ff85c3050ff15bf8e473ead40c24dba4b4353 (diff) |
"testdisk -lu device" will list the partition with sector unit
Diffstat (limited to 'src/testdisk.c')
-rw-r--r-- | src/testdisk.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/testdisk.c b/src/testdisk.c index 48ced13c..f04ee4bf 100644 --- a/src/testdisk.c +++ b/src/testdisk.c @@ -60,6 +60,8 @@ #include "ewf.h" #include "log.h" #include "hdaccess.h" +#include "sudo.h" +#include "partauto.h" extern const arch_fnct_t arch_i386; extern const arch_fnct_t arch_mac; @@ -95,6 +97,7 @@ int main( int argc, char **argv ) int help=0, verbose=0, dump_ind=0; int create_log=0; /* 0: no_log, 1: append, 2 create */ int do_list=0; + int unit=UNIT_DEFAULT; int write_used; int saveheader=0; int create_backup=0; @@ -158,8 +161,15 @@ int main( int argc, char **argv ) else if((strcmp(argv[i],"/help")==0) || (strcmp(argv[i],"-help")==0) || (strcmp(argv[i],"--help")==0) || (strcmp(argv[i],"/h")==0) || (strcmp(argv[i],"-h")==0)) help=1; - else if((strcmp(argv[i],"/list")==0) || (strcmp(argv[i],"-list")==0)) + else if(strcmp(argv[i],"/list")==0 || strcmp(argv[i],"-list")==0 || strcmp(argv[i],"-l")==0) + { + do_list=1; + } + else if(strcmp(argv[i],"-lu")==0) + { do_list=1; + unit=UNIT_SECTOR; + } else if((strcmp(argv[i],"/nosetlocale")==0) || (strcmp(argv[i],"-nosetlocale")==0)) run_setlocale=0; else if((strcmp(argv[i],"/safe")==0) || (strcmp(argv[i],"-safe")==0)) @@ -248,7 +258,12 @@ int main( int argc, char **argv ) for(element_disk=list_disk;element_disk!=NULL;element_disk=element_disk->next) { - interface_list(element_disk->disk,verbose,0,saveheader,create_backup, &cmd_run); + autodetect_arch(element_disk->disk); + if(unit==UNIT_DEFAULT) + autoset_unit(element_disk->disk); + else + element_disk->disk->unit=unit; + interface_list(element_disk->disk, verbose, saveheader, create_backup, &cmd_run); } delete_list_disk(list_disk); return 0; @@ -343,7 +358,7 @@ int main( int argc, char **argv ) { case 'L': for(element_disk=list_disk;element_disk!=NULL;element_disk=element_disk->next) - interface_list(element_disk->disk,verbose,0, saveheader, create_backup, &cmd_run); + interface_list(element_disk->disk, verbose, saveheader, create_backup, &cmd_run); break; case 'q': case 'Q': |