aboutsummaryrefslogtreecommitdiff
path: root/lib/fuse_loop.c
diff options
context:
space:
mode:
authorGravatar Miklos Szeredi <mszeredi@suse.cz>2013-06-21 18:17:27 +0200
committerGravatar Miklos Szeredi <mszeredi@suse.cz>2013-06-21 18:17:27 +0200
commit561d7054d856eea6c2d634093546d6af773dada9 (patch)
tree834081dc3e406f37af0f2c00d3d6ca515f217738 /lib/fuse_loop.c
parent5334a152e1272a072339fb4519de04ed4269d3ca (diff)
libfuse: remove fuse_chan_bufsize()
Remove fuse_chan_bufsize() from the lowlevel API. fuse_session_receive_buf() is now responsible for allocating memory for the buffer.
Diffstat (limited to 'lib/fuse_loop.c')
-rw-r--r--lib/fuse_loop.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/lib/fuse_loop.c b/lib/fuse_loop.c
index 91d2dd8..7ddf2f9 100644
--- a/lib/fuse_loop.c
+++ b/lib/fuse_loop.c
@@ -16,19 +16,11 @@ int fuse_session_loop(struct fuse_session *se)
{
int res = 0;
struct fuse_chan *ch = fuse_session_chan(se);
- size_t bufsize = fuse_chan_bufsize(ch);
- char *buf = (char *) malloc(bufsize);
- if (!buf) {
- fprintf(stderr, "fuse: failed to allocate read buffer\n");
- return -1;
- }
+ struct fuse_buf fbuf = {
+ .mem = NULL,
+ };
while (!fuse_session_exited(se)) {
- struct fuse_buf fbuf = {
- .mem = buf,
- .size = bufsize,
- };
-
res = fuse_session_receive_buf(se, &fbuf, ch);
if (res == -EINTR)
@@ -39,7 +31,7 @@ int fuse_session_loop(struct fuse_session *se)
fuse_session_process_buf(se, &fbuf, ch);
}
- free(buf);
+ free(fbuf.mem);
fuse_session_reset(se);
return res < 0 ? -1 : 0;
}