diff options
Diffstat (limited to 'src/ddhardrescue.c')
-rw-r--r-- | src/ddhardrescue.c | 14 |
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); |