]> git.alsa-project.org Git - alsa-lib.git/commitdiff
Fixed return value
authorAbramo Bagnara <abramo@alsa-project.org>
Thu, 13 Apr 2000 21:17:03 +0000 (21:17 +0000)
committerAbramo Bagnara <abramo@alsa-project.org>
Thu, 13 Apr 2000 21:17:03 +0000 (21:17 +0000)
src/pcm/pcm_plugin.c
src/pcm/plugin/block.c
src/pcm/plugin/stream.c

index 1cedc2bc8964aecb477c4967eca9bee0fa5ac665..bcc7a206c67ee3514598e17ce7fc862c30a7ce78 100644 (file)
@@ -524,7 +524,7 @@ static ssize_t snd_pcm_plugin_writev1(snd_pcm_t *pcm, const struct iovec *vector
 {
        snd_pcm_plugin_t *plugin, *next;
        snd_pcm_plugin_voice_t *src_voices, *dst_voices;
-       size_t samples;
+       ssize_t samples;
        ssize_t size;
        int idx, err;
 
@@ -539,7 +539,7 @@ static ssize_t snd_pcm_plugin_writev1(snd_pcm_t *pcm, const struct iovec *vector
                return samples;
        while (plugin) {
                if ((next = plugin->next) != NULL) {
-                       size_t samples1 = samples;
+                       ssize_t samples1 = samples;
                        if (plugin->dst_samples)
                                samples1 = plugin->dst_samples(plugin, samples);
                        if (next->src_voices) {
@@ -617,7 +617,7 @@ static ssize_t snd_pcm_plugin_readv1(snd_pcm_t *pcm, const struct iovec *vector,
 {
        snd_pcm_plugin_t *plugin, *next;
        snd_pcm_plugin_voice_t *src_voices = NULL, *dst_voices;
-       size_t samples;
+       ssize_t samples;
        ssize_t size;
        int idx, err;
 
index c0fea45b55aa8c0c3d03efd6697e0e7f90658724..e3753f5b3fbe0795069e3ec3a9f85a9319fc8ecd 100644 (file)
@@ -86,6 +86,8 @@ static ssize_t block_transfer(snd_pcm_plugin_t *plugin,
                        }
                        result = snd_pcm_readv(plugin->handle, vec, count);
                }
+               if (result < 0)
+                       return result;
                return snd_pcm_plugin_dst_size_to_samples(plugin, result);
        } else {
                return -EINVAL;
index 68c0db877ca6bfa1e7e483e714b1f29db1de1f01..6ac38a5558f53f95992752a440bab5757a522c88 100644 (file)
@@ -87,6 +87,8 @@ static ssize_t stream_transfer(snd_pcm_plugin_t *plugin,
                        }
                        result = snd_pcm_readv(plugin->handle, vec, count);
                }
+               if (result < 0)
+                       return result;
                return snd_pcm_plugin_dst_size_to_samples(plugin, result);
        } else {
                return -EINVAL;