ref: b33f4c030159ac9dfdf34cb0ba6ec64daf727c8c
parent: 0e09795831f37b86206e4dc9b3a0ac8bcd90401e
author: cinap_lenrek <[email protected]>
date: Mon Oct 5 00:45:32 EDT 2015
9660srv: do not ignore upper 32 bits of offset when reading directory
--- a/sys/src/cmd/9660srv/9660srv.c
+++ b/sys/src/cmd/9660srv/9660srv.c
@@ -13,7 +13,7 @@
static void iwalk(Xfile*, char*);
static void iopen(Xfile*, int);
static void icreate(Xfile*, char*, long, int);
-static long ireaddir(Xfile*, uchar*, long, long);
+static long ireaddir(Xfile*, uchar*, vlong, long);
static long iread(Xfile*, char*, vlong, long);
static long iwrite(Xfile*, char*, vlong, long);
static void iclunk(Xfile*);
@@ -314,7 +314,7 @@
}
static long
-ireaddir(Xfile *f, uchar *buf, long offset, long count)
+ireaddir(Xfile *f, uchar *buf, vlong offset, long count)
{
Isofile *ip = f->ptr;
Dir d;
--- a/sys/src/cmd/9660srv/dat.h
+++ b/sys/src/cmd/9660srv/dat.h
@@ -54,7 +54,7 @@
void (*walk)(Xfile*, char*);
void (*open)(Xfile*, int);
void (*create)(Xfile*, char*, long, int);
- long (*readdir)(Xfile*, uchar*, long, long);
+ long (*readdir)(Xfile*, uchar*, vlong, long);
long (*read)(Xfile*, char*, vlong, long);
long (*write)(Xfile*, char*, vlong, long);
void (*clunk)(Xfile*);