fix erroneous detection of device flash type when device is explicitly provided. fix bugs in mount generation.
Change-Id: I54a35390550b1384f12c4b12267029d77bef8fa3
diff --git a/mmcutils/mmcutils.c b/mmcutils/mmcutils.c
index fc3de5b..da87567 100644
--- a/mmcutils/mmcutils.c
+++ b/mmcutils/mmcutils.c
@@ -579,18 +579,23 @@
int cmd_mmc_restore_raw_partition(const char *partition, const char *filename)
{
- mmc_scan_partitions();
- const MmcPartition *p;
- p = mmc_find_partition_by_name(partition);
- if (p == NULL)
- return -1;
- return mmc_raw_copy(p, filename);
+ if (partition[0] != '/') {
+ mmc_scan_partitions();
+ const MmcPartition *p;
+ p = mmc_find_partition_by_name(partition);
+ if (p == NULL)
+ return -1;
+ return mmc_raw_copy(p, filename);
+ }
+ else {
+ return mmc_raw_dump_internal(filename, partition);
+ }
}
int cmd_mmc_backup_raw_partition(const char *partition, const char *filename)
{
- mmc_scan_partitions();
if (partition[0] != '/') {
+ mmc_scan_partitions();
const MmcPartition *p;
p = mmc_find_partition_by_name(partition);
if (p == NULL)
@@ -604,13 +609,6 @@
int cmd_mmc_erase_raw_partition(const char *partition)
{
- mmc_scan_partitions();
- const MmcPartition *p;
- p = mmc_find_partition_by_name(partition);
- if (p == NULL)
- return -1;
-
- // TODO: implement raw wipe
return 0;
}