From 261ec98c16ed512529472218fee3bf6db298a748 Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Sun, 6 Mar 2011 10:52:03 +0000 Subject: Rush du dimanche matin. Beaucoup de choses écrites et pas testée ni finies mais ça avance. A relire !! MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///var/svn/2011-ddhardrescue/trunk@8 d3078510-dda0-49f1-841c-895ef4b7ec81 --- src/slices.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'src/slices.c') 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; } -- cgit v1.2.3