From dcb5580cf084ca5a94f354e048b8f6b6e4dae630 Mon Sep 17 00:00:00 2001 From: rsc Date: Mon, 28 May 2007 17:41:28 +0000 Subject: fix args --- src/libdiskfs/part.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src/libdiskfs') diff --git a/src/libdiskfs/part.c b/src/libdiskfs/part.c index d156457d..5d447479 100644 --- a/src/libdiskfs/part.c +++ b/src/libdiskfs/part.c @@ -28,7 +28,9 @@ diskpartsync(Disk *dd) { DiskPart *d = (DiskPart*)dd; - return disksync(d->subdisk); + if(d->subdisk) + return disksync(d->subdisk); + return 0; } static void @@ -36,12 +38,13 @@ diskpartclose(Disk *dd) { DiskPart *d = (DiskPart*)dd; - diskclose(d->subdisk); + if(d->subdisk) + diskclose(d->subdisk); free(d); } Disk* -diskpart(Disk *subdisk, u64int size, u64int offset) +diskpart(Disk *subdisk, u64int offset, u64int size) { DiskPart *d; @@ -58,3 +61,11 @@ diskpart(Disk *subdisk, u64int size, u64int offset) return &d->disk; } + +void +diskpartabandon(Disk *d) +{ + if(d->_read != diskpartread) + abort(); + d->subdisk = nil; +} -- cgit v1.2.3