shithub: riscv

Download patch

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*);