diff options
author | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2011-10-09 12:20:28 +0000 |
---|---|---|
committer | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2011-10-09 12:20:28 +0000 |
commit | 6858221c2c09590dfe05f060f8701f874d2559ac (patch) | |
tree | a2c2a7f8941e87368ee46163e028c553d1b6bcdf | |
parent | 748b294646092e461053ade09a52a29586cbf4f7 (diff) | |
download | 2011-ddhardrescue-6858221c2c09590dfe05f060f8701f874d2559ac.tar.gz 2011-ddhardrescue-6858221c2c09590dfe05f060f8701f874d2559ac.tar.bz2 2011-ddhardrescue-6858221c2c09590dfe05f060f8701f874d2559ac.zip |
Pause critique dans l'avancement de l'amas de code. On va commencer à préparer une version plus rationnelle.
git-svn-id: file:///var/svn/2011-ddhardrescue/trunk@28 d3078510-dda0-49f1-841c-895ef4b7ec81
-rwxr-xr-x | inc/slices.h | 1 | ||||
-rw-r--r-- | src/cursesview.c | 8 | ||||
-rw-r--r-- | 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); @@ -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. |