summaryrefslogtreecommitdiff
path: root/src/ddhardrescue.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ddhardrescue.c')
-rw-r--r--src/ddhardrescue.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/ddhardrescue.c b/src/ddhardrescue.c
index ba6781e..691bf09 100644
--- a/src/ddhardrescue.c
+++ b/src/ddhardrescue.c
@@ -63,11 +63,18 @@ int main(int argc, char **argv) {
srand(4);
// Data structure initialization
+ // TODO : provides a standard method to do that ?
memset(&slices, 0, sizeof(slices));
slices.data=slicesNewSingleton(args.beginSector, args.endSector, S_UNKNOWN);
+ if ( slices.data == NULL ) {
+ return 3;
+ }
+ slices.data->min=args.beginSector;
+ slices.data->max=args.endSector;
+
res=pthread_mutex_init(&(slices.eventListenerMutex), NULL);
if (res!=0) {
- return 3;
+ return 4;
}
// Threads preparation, creation and start
@@ -78,7 +85,7 @@ int main(int argc, char **argv) {
res=pthread_create(&tWorker, NULL, procWorker, &tArgs);
if (res!=0) {
- return 4;
+ return 5;
}
// Ncurses interface run in the main thread
@@ -137,8 +144,7 @@ void cursesUpdateSliceDump(slices_evt_t *slicesEvt, slice_t *modifiedSlice) {
//FIXME : do that realy
pthread_mutex_lock(&ncursesWriteMutex);
-
- toPrint=slicesDump(slicesEvt->data, &blockSize, 1000, 0, 1000);
+ toPrint=slicesDump(slicesEvt->data, &blockSize, 1000, slicesEvt->data->min, slicesEvt->data->max);
if (toPrint != NULL) {
attron(COLOR_PAIR(4));
mvwprintw(winUpdateSliceDump, 1, 0, toPrint);