input_stream: convert offset and size to the off_t data type

size_t and long aren't 64 bit safe (i.e. files larger than 2 GB on a
32 bit OS).  Use off_t instead, which is a 64 bit integer if compiled
with large file support.
This commit is contained in:
Max Kellermann
2008-10-28 20:39:09 +01:00
parent 016d996131
commit 0a61877702
5 changed files with 12 additions and 13 deletions

View File

@@ -21,6 +21,7 @@
#include <stddef.h>
#include <stdbool.h>
#include <sys/types.h>
struct input_stream;
@@ -31,7 +32,7 @@ struct input_plugin {
int (*buffer)(struct input_stream *is);
size_t (*read)(struct input_stream *is, void *ptr, size_t size);
bool (*eof)(struct input_stream *is);
bool (*seek)(struct input_stream *is, long offset, int whence);
bool (*seek)(struct input_stream *is, off_t offset, int whence);
};
struct input_stream {
@@ -41,8 +42,7 @@ struct input_stream {
bool ready;
int error;
long offset;
size_t size;
off_t size, offset;
char *mime;
void *data;
@@ -60,7 +60,7 @@ bool
input_stream_open(struct input_stream *is, char *url);
bool
input_stream_seek(struct input_stream *is, long offset, int whence);
input_stream_seek(struct input_stream *is, off_t offset, int whence);
void input_stream_close(struct input_stream *is);
bool input_stream_eof(struct input_stream *is);