diff options
author | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2011-03-06 10:52:03 +0000 |
---|---|---|
committer | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2011-03-06 10:52:03 +0000 |
commit | 261ec98c16ed512529472218fee3bf6db298a748 (patch) | |
tree | c8f1160ac35c6be3dc915200b55456ab360bb819 /src/slices.c | |
parent | 74443ea4b49d48ce308e79880d21c1cb52ca46fc (diff) | |
download | 2011-ddhardrescue-261ec98c16ed512529472218fee3bf6db298a748.tar.gz 2011-ddhardrescue-261ec98c16ed512529472218fee3bf6db298a748.tar.bz2 2011-ddhardrescue-261ec98c16ed512529472218fee3bf6db298a748.zip |
Rush du dimanche matin.
Beaucoup de choses écrites et pas testée ni finies mais ça avance.
A relire !!
git-svn-id: file:///var/svn/2011-ddhardrescue/trunk@8 d3078510-dda0-49f1-841c-895ef4b7ec81
Diffstat (limited to 'src/slices.c')
-rwxr-xr-x | src/slices.c | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/slices.c b/src/slices.c index 68e39f9..9f40b9e 100755 --- a/src/slices.c +++ b/src/slices.c @@ -75,14 +75,29 @@ int sliceSplit(slices_t *slices, slice_t *initialSlice, address_t splitAt, slice return 1 + (splitBeforeSingularity?1:0) + (splitAfterSingularity?1:0); } -slices_t *slicesNew() { +slices_t *slicesNewEmpty() { slices_t *ss = malloc(1*sizeof(slices_t)); - if (ss!=NULL) { - ss->count=0; - ss->first=NULL; - ss->last=NULL; + if (ss==NULL) { + return NULL; } + memset(ss, 0, sizeof(slices_t)); + return ss; +} + +slices_t *slicesNewSingleton(address_t begin, address_t end, sliceStatus_t status) { + slice_t *s=NULL; + slices_t *ss = slicesNewEmpty(); + if (ss==NULL) { + return NULL; + } + s=sliceNew(begin,end,status,NULL); + if (s==NULL) { + free(ss); + return NULL; + } + slicesAppend(ss,s); + return ss; } |