core: stream: change read/write buffer type from unsigned char* to void*
This commit is contained in:
@@ -42,8 +42,8 @@ B_TYPE_CLASS_DECLARATION_BEGIN(b_stream)
|
||||
b_status (*s_seek)(b_stream *, long long, b_stream_seek_origin);
|
||||
b_status (*s_tell)(const b_stream *, size_t *);
|
||||
b_status (*s_getc)(b_stream *, b_wchar *);
|
||||
b_status (*s_read)(b_stream *, unsigned char *, size_t, size_t *);
|
||||
b_status (*s_write)(b_stream *, const unsigned char *, size_t, size_t *);
|
||||
b_status (*s_read)(b_stream *, void *, size_t, size_t *);
|
||||
b_status (*s_write)(b_stream *, const void *, size_t, size_t *);
|
||||
b_status (*s_reserve)(b_stream *, size_t);
|
||||
B_TYPE_CLASS_DECLARATION_END(b_stream)
|
||||
|
||||
|
||||
@@ -70,37 +70,13 @@ static b_stream *stdio[] = {
|
||||
[IDX_STDIN] = NULL,
|
||||
[IDX_STDOUT] = NULL,
|
||||
[IDX_STDERR] = NULL,
|
||||
#if 0
|
||||
[IDX_STDIN] = {
|
||||
.s_mode = B_STREAM_READ,
|
||||
.s_read = stdio_read,
|
||||
.s_seek = stdio_seek,
|
||||
.s_tell = stdio_tell,
|
||||
.s_ptr0 = NULL, /* set to stdin (stdio.h) at runtime */
|
||||
},
|
||||
[IDX_STDOUT] = {
|
||||
.s_mode = B_STREAM_WRITE,
|
||||
.s_write = stdio_write,
|
||||
.s_seek = stdio_seek,
|
||||
.s_tell = stdio_tell,
|
||||
.s_ptr0 = NULL, /* set to stdout (stdio.h) at runtime */
|
||||
},
|
||||
[IDX_STDERR] = {
|
||||
.s_mode = B_STREAM_WRITE,
|
||||
.s_write = stdio_write,
|
||||
.s_seek = stdio_seek,
|
||||
.s_tell = stdio_tell,
|
||||
.s_ptr0 = NULL, /* set to stderr (stdio.h) at runtime */
|
||||
},
|
||||
#endif
|
||||
};
|
||||
|
||||
/*** PRIVATE FUNCTIONS ********************************************************/
|
||||
|
||||
b_type b_stdio_stream_get_type(void);
|
||||
static enum b_status stdio_read(b_stream *, unsigned char *, size_t, size_t *);
|
||||
static enum b_status stdio_write(
|
||||
b_stream *, const unsigned char *, size_t, size_t *);
|
||||
static enum b_status stdio_read(b_stream *, void *, size_t, size_t *);
|
||||
static enum b_status stdio_write(b_stream *, const void *, size_t, size_t *);
|
||||
static enum b_status stdio_seek(b_stream *, long long, b_stream_seek_origin);
|
||||
static enum b_status stdio_tell(const b_stream *, size_t *);
|
||||
|
||||
@@ -661,22 +637,7 @@ b_stream_buffer *b_stream_buffer_create(void *buf, size_t len)
|
||||
|
||||
b_stream *b_stream_open_fp(FILE *fp)
|
||||
{
|
||||
b_stream *stream = b_object_create(B_TYPE_STREAM);
|
||||
if (!stream) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
struct stream_data p;
|
||||
stream_get_data(stream, &p);
|
||||
|
||||
p.s_cfg->s_mode = B_STREAM_READ | B_STREAM_WRITE;
|
||||
p.s_private->s_ptr0 = fp;
|
||||
p.s_ops->s_read = stdio_read;
|
||||
p.s_ops->s_write = stdio_write;
|
||||
p.s_ops->s_seek = stdio_seek;
|
||||
p.s_ops->s_tell = stdio_tell;
|
||||
|
||||
return stream;
|
||||
return init_stdio_stream(fp, B_STREAM_READ | B_STREAM_WRITE);
|
||||
}
|
||||
|
||||
enum b_status b_stream_reserve(b_stream *stream, size_t len)
|
||||
@@ -869,7 +830,7 @@ static void stdio_stream_fini(b_object *obj, void *priv)
|
||||
}
|
||||
|
||||
static enum b_status stdio_read(
|
||||
b_stream *stream, unsigned char *out, size_t max, size_t *nr_read)
|
||||
b_stream *stream, void *out, size_t max, size_t *nr_read)
|
||||
{
|
||||
struct b_stdio_stream_p *p
|
||||
= b_object_get_private(stream, B_TYPE_STDIO_STREAM);
|
||||
@@ -887,7 +848,7 @@ static enum b_status stdio_read(
|
||||
}
|
||||
|
||||
static enum b_status stdio_write(
|
||||
b_stream *stream, const unsigned char *data, size_t count, size_t *nr_written)
|
||||
b_stream *stream, const void *data, size_t count, size_t *nr_written)
|
||||
{
|
||||
struct b_stdio_stream_p *p
|
||||
= b_object_get_private(stream, B_TYPE_STDIO_STREAM);
|
||||
|
||||
@@ -194,7 +194,7 @@ static void stringstream_fini(b_object *obj, void *priv)
|
||||
}
|
||||
|
||||
enum b_status stream_write(
|
||||
b_stream *stream, const unsigned char *buf, size_t count, size_t *nr_written)
|
||||
b_stream *stream, const void *buf, size_t count, size_t *nr_written)
|
||||
{
|
||||
struct b_stringstream_p *s
|
||||
= b_object_get_private(stream, B_TYPE_STRINGSTREAM);
|
||||
|
||||
Reference in New Issue
Block a user