@@ -84,13 +84,13 @@ - (BOOL)atEndOfFile { return (feof(fp) == 0 ? NO : YES); } -- (size_t)readIntoBuffer: (uint8_t*)buf - withSize: (size_t)size - andNItems: (size_t)nitems +- (size_t)readNItems: (size_t)nitems + ofSize: (size_t)size + intoBuffer: (uint8_t*)buf { size_t ret; if ((ret = fread(buf, size, nitems, fp)) == 0 && !feof(fp)) [[OFReadFailedException newWithObject: self @@ -98,34 +98,48 @@ andNItems: nitems] raise]; return ret; } -- (uint8_t*)readWithSize: (size_t)size - andNItems: (size_t)nitems +- (size_t)readNBytes: (size_t)size + intoBuffer: (uint8_t*)buf +{ + return [self readNItems: size + ofSize: 1 + intoBuffer: buf]; +} + +- (uint8_t*)readNItems: (size_t)nitems + ofSize: (size_t)size { uint8_t *ret; ret = [self getMemForNItems: nitems ofSize: size]; @try { - [self readIntoBuffer: ret - withSize: size - andNItems: nitems]; + [self readNItems: nitems + ofSize: size + intoBuffer: ret]; } @catch (OFReadFailedException *e) { [self freeMem: ret]; @throw e; return NULL; } return ret; } -- (size_t)writeBuffer: (uint8_t*)buf - withSize: (size_t)size - andNItems: (size_t)nitems +- (uint8_t*)readNBytes: (size_t)size +{ + return [self readNItems: size + ofSize: 1]; +} + +- (size_t)writeNItems: (size_t)nitems + ofSize: (size_t)size + fromBuffer: (uint8_t*)buf { size_t ret; if ((ret = fwrite(buf, size, nitems, fp)) == 0 && size != 0 && nitems != 0) @@ -133,6 +147,14 @@ andSize: size andNItems: nitems] raise]; return ret; } + +- (size_t)writeNBytes: (size_t)size + fromBuffer: (uint8_t*)buf +{ + return [self writeNItems: size + ofSize: 1 + fromBuffer: buf]; +} @end