Mercurial > audlegacy-plugins
comparison src/gio/gio.c @ 3098:cdf79f7b0d9e
gio: fread()/fwrite(): return size / nmemb, not total bytes read/written.
author | William Pitcock <nenolod@atheme.org> |
---|---|
date | Thu, 30 Apr 2009 09:06:55 -0500 |
parents | 1e39f795348c |
children | bc642b05827b |
comparison
equal
deleted
inserted
replaced
3097:1e48d5a52760 | 3098:cdf79f7b0d9e |
---|---|
108 VFSFile * file) | 108 VFSFile * file) |
109 { | 109 { |
110 VFSGIOHandle *handle; | 110 VFSGIOHandle *handle; |
111 goffset count = 0; | 111 goffset count = 0; |
112 gsize realsize = (size * nmemb); | 112 gsize realsize = (size * nmemb); |
113 gsize ret; | |
113 | 114 |
114 g_return_val_if_fail(file != NULL, EOF); | 115 g_return_val_if_fail(file != NULL, EOF); |
115 g_return_val_if_fail(file->handle != NULL, EOF); | 116 g_return_val_if_fail(file->handle != NULL, EOF); |
116 | 117 |
117 handle = (VFSGIOHandle *) file->handle; | 118 handle = (VFSGIOHandle *) file->handle; |
127 memcpy(ptr + count, &uc, 1); | 128 memcpy(ptr + count, &uc, 1); |
128 count++; | 129 count++; |
129 } | 130 } |
130 } | 131 } |
131 | 132 |
132 return (g_input_stream_read(G_INPUT_STREAM(handle->istream), (ptr + count), (realsize - count), NULL, NULL) + count); | 133 ret = (g_input_stream_read(G_INPUT_STREAM(handle->istream), (ptr + count), (realsize - count), NULL, NULL) + count); |
134 return (ret / size); | |
133 } | 135 } |
134 | 136 |
135 size_t | 137 size_t |
136 gio_aud_vfs_fwrite_impl(gconstpointer ptr, | 138 gio_aud_vfs_fwrite_impl(gconstpointer ptr, |
137 size_t size, | 139 size_t size, |
138 size_t nmemb, | 140 size_t nmemb, |
139 VFSFile * file) | 141 VFSFile * file) |
140 { | 142 { |
141 VFSGIOHandle *handle; | 143 VFSGIOHandle *handle; |
144 gsize ret; | |
142 | 145 |
143 g_return_val_if_fail(file != NULL, EOF); | 146 g_return_val_if_fail(file != NULL, EOF); |
144 g_return_val_if_fail(file->handle != NULL, EOF); | 147 g_return_val_if_fail(file->handle != NULL, EOF); |
145 | 148 |
146 handle = (VFSGIOHandle *) file->handle; | 149 handle = (VFSGIOHandle *) file->handle; |
147 | 150 |
148 return g_output_stream_write(G_OUTPUT_STREAM(handle->ostream), ptr, size * nmemb, NULL, NULL); | 151 ret = g_output_stream_write(G_OUTPUT_STREAM(handle->ostream), ptr, size * nmemb, NULL, NULL); |
152 return (ret / size); | |
149 } | 153 } |
150 | 154 |
151 gint | 155 gint |
152 gio_aud_vfs_getc_impl(VFSFile *file) | 156 gio_aud_vfs_getc_impl(VFSFile *file) |
153 { | 157 { |