From 6858221c2c09590dfe05f060f8701f874d2559ac Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Sun, 9 Oct 2011 12:20:28 +0000 Subject: Pause critique dans l'avancement de l'amas de code. On va commencer à préparer une version plus rationnelle. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///var/svn/2011-ddhardrescue/trunk@28 d3078510-dda0-49f1-841c-895ef4b7ec81 --- inc/slices.h | 1 + src/cursesview.c | 8 ++++---- todo.txt | 14 ++++++++++++-- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/inc/slices.h b/inc/slices.h index 4360d86..b994636 100755 --- a/inc/slices.h +++ b/inc/slices.h @@ -32,6 +32,7 @@ void sliceDelete(slice_t *s); // Return the numbers of slices after split (3 in the general case, 2 or 1 in particular cases. -1 is memory error) int sliceSplit(slices_t *slices, slice_t *initialSlice, address_t splitAt, sliceStatus_t statusBefore, sliceStatus_t statusAt, sliceStatus_t statusAfter); +void sliceDumpUpdate(char *dump, slice_t *s, address_t blockSize, unsigned int charCount, address_t begin, address_t end); slices_t *slicesNewEmpty(); diff --git a/src/cursesview.c b/src/cursesview.c index 83b133f..fcfa2d2 100644 --- a/src/cursesview.c +++ b/src/cursesview.c @@ -19,7 +19,7 @@ address_t sliceDumpBegin, sliceDumpEnd, sliceDumpMin, sliceDumpMax; int cursesInit(WINDOW *wins[], PANEL *panels[], int count); void cursesUnInit(WINDOW *wins[], PANEL *panels[], int count); void cursesUpdateSliceDump(slices_evt_t *slicesEvt, slice_t *modifiedSlice); -void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color); +//void printInMiddle(WINDOW *win, int starty, int startx, int width, char *string, chtype color); void makeWin(WINDOW **win, PANEL **panel, int h, int w, int y, int x, char title[]); void cursesMainLoop(slices_evt_t *slicesEvt) { @@ -256,8 +256,8 @@ void cursesUpdateSliceDump(slices_evt_t *slicesEvt, slice_t *modifiedSlice) { pthread_mutex_unlock(&ncursesWriteMutex); } - -void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color) +/* +void printInMiddle(WINDOW *win, int starty, int startx, int width, char *string, chtype color) { int length, x, y; float temp; @@ -279,7 +279,7 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin wattroff(win, color); refresh(); } - +*/ void makeWin(WINDOW **win, PANEL **panel, int h, int w, int y, int x, char title[]) { int i; *win = newwin(h, w, y, x); diff --git a/todo.txt b/todo.txt index b4b48a2..67f9930 100644 --- a/todo.txt +++ b/todo.txt @@ -1,2 +1,12 @@ -a terter : exécution avec un dd qui fait 0 read error d'emblée ! -au qu'a dernier secteur.. + +Limitations de l'implémentation actuelle : + +Il n'y a pas de mise à jour incrémentale du ascii dump car le buffer de la WINDOW curse n'est pas readable et que la méthodesliceDump embarque le calcul des paramètres de combien de secteurs représente 1 char, etc... + +Le seul event qui remonte c'est au moment d'un sliceSplit. Ces évènements, sur un disque dur pas trop trop malade seront très infréquents. + +Il n'y a pas de controle des paramètres de l'algo dans l'IHM, il n'y a pas de controle de l'exécution de l'algo non plus. + +Il n'y a pas de sauvegarde périodique de l'état d'avancement (slices mais aussi avancement dans la lecture du splice courant). + +Il n'y a pas de packaging de fait. -- cgit v1.2.3