summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Pouzenc <ludovic@pouzenc.fr>2011-10-09 12:20:28 +0000
committerLudovic Pouzenc <ludovic@pouzenc.fr>2011-10-09 12:20:28 +0000
commit6858221c2c09590dfe05f060f8701f874d2559ac (patch)
treea2c2a7f8941e87368ee46163e028c553d1b6bcdf
parent748b294646092e461053ade09a52a29586cbf4f7 (diff)
download2011-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-xinc/slices.h1
-rw-r--r--src/cursesview.c8
-rw-r--r--todo.txt14
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.