Remote whitespace at the ends of lines. Remove blank lines from the ends of files. Change modes on source files so that they are not executable. Signed-off-by: Dan Cross <cross@gajendra.net>
71 lines
1.1 KiB
C
71 lines
1.1 KiB
C
#include <u.h>
|
|
#include <libc.h>
|
|
#include <diskfs.h>
|
|
|
|
typedef struct DiskPart DiskPart;
|
|
struct DiskPart
|
|
{
|
|
Disk disk;
|
|
Disk *subdisk;
|
|
u64int offset;
|
|
u64int size;
|
|
};
|
|
|
|
static Block*
|
|
diskpartread(Disk *dd, u32int len, u64int offset)
|
|
{
|
|
DiskPart *d = (DiskPart*)dd;
|
|
|
|
if(offset+len > d->size){
|
|
werrstr("read past end of partition %llud + %lud > %llud", offset, len, d->size);
|
|
return nil;
|
|
}
|
|
return diskread(d->subdisk, len, offset+d->offset);
|
|
}
|
|
|
|
static int
|
|
diskpartsync(Disk *dd)
|
|
{
|
|
DiskPart *d = (DiskPart*)dd;
|
|
|
|
if(d->subdisk)
|
|
return disksync(d->subdisk);
|
|
return 0;
|
|
}
|
|
|
|
static void
|
|
diskpartclose(Disk *dd)
|
|
{
|
|
DiskPart *d = (DiskPart*)dd;
|
|
|
|
if(d->subdisk)
|
|
diskclose(d->subdisk);
|
|
free(d);
|
|
}
|
|
|
|
Disk*
|
|
diskpart(Disk *subdisk, u64int offset, u64int size)
|
|
{
|
|
DiskPart *d;
|
|
|
|
d = mallocz(sizeof(DiskPart), 1);
|
|
if(d == nil)
|
|
return nil;
|
|
|
|
d->subdisk = subdisk;
|
|
d->offset = offset;
|
|
d->size = size;
|
|
d->disk._read = diskpartread;
|
|
d->disk._sync = diskpartsync;
|
|
d->disk._close = diskpartclose;
|
|
|
|
return &d->disk;
|
|
}
|
|
|
|
void
|
|
diskpartabandon(Disk *d)
|
|
{
|
|
if(d->_read != diskpartread)
|
|
abort();
|
|
((DiskPart*)d)->subdisk = nil;
|
|
}
|